Jump to content

OT: Coding/programming


ArrMatey

Recommended Posts

  • Members

I have been a professional developer for around 20 years and a .NET developer for 10 of them. I think the pertinent question for the OP is - is it worth investing time in? Will it get me a good job? Will it still be one of the dominant languages in 5-10 years?


I think .NET is on the decline as a percentage of the available jobs. Microsoft as a leader in the industry is declining, and newer technologies have been gaining traction. Having said that, there are tons of large applications and systems running fine on .NET and even if all new dev were to stop today it will be around for a long time.


Personally, if I were starting over again
today
, I'd focus on iOS development and/or HTML 5. I have no doubt that with some focus you can get a job within a year.

 

 

HTML 5, definitely. iOS, I'm not so sure. Proprietary closed systems only dominate a market when they have no competition, which is how it was for iOS back in 2007. Apple has since given up most of that market to Android. Apple isn't even the best selling mobile device maker anymore. Samsung took that spot in February. It has nothing to do with which system is best, and everything to do with price competition. Apple will never license iOS for any device they didn't manufacture, while anybody can license Android. I'm not saying that iOS is going away, but the demand for programmers follows the market, and right now the market is moving away from iOS.

 

I agree with Kidbs that the strongest market for programmers for the foreseeable future is in web development, but if you want to be successful there then you have to be willing to relearn your craft on a regular basis. 20 years ago the hot thing was CGI scripting with Perl. 10 years ago it was PHP. Today it's Ruby on Rails. Who knows what it will be 10 years from now, but it's a good bet it will be something else.

Link to comment
Share on other sites

  • Members

So, if you were going to try to learn coding for HTML5 and/or iOS/andriod apps is there fundamentals you should learn first? My only foray into coding so far has been C or C++ for a class in high school. I had the weirdest most unhelpful teacher and just made stupid random number generators or whatever. It was the most tedious {censored}ing thing ever and turned me off to coding. Please don't tell me that's like the basis of all coding?

Link to comment
Share on other sites

  • Members

arrmatey, what have you coded 8 years before? what did you know back than what were your skills? why did you stop? what bothered you?

 

i was a good java coder and tried to stay away from web/servlet development. if you have done one web shop in one language, every new webshop / web site / web application in any language will be just the same.

i work now for a mobile operator for almost 10 years and my profession is system design and architecture, which stays fairly interesting in such a big and very distributed environment like a mobile operator has.

 

maybe i would love low level coding, designing compilers or the like, but all those high level end user stuff is not my cup off tea.

 

so what made you stop and where do you want to go now? this helps really to give advice where to look into, without making the same decision again and stopping again right afterwards if the same things come up again, with just another programming language or framework...

Link to comment
Share on other sites

  • Members

 

So, if you were going to try to learn coding for HTML5 and/or iOS/andriod apps is there fundamentals you should learn first?

 

 

For iOS there are free video courses on iTunes University.

 

As a general rule the best thing to do is come up with a simple project idea and go for it. Take tic-tac-toe using Ruby for example. If you have any programming background just Google/Stack Overflow for the answers you need and get started. If you have no programming background work through a Heads Up or Dummies book first.

Link to comment
Share on other sites

  • Members

Another approach that you could take would be just to focus on learning HTML 5 and JQuery/Javascript first (continuing with my belief that web apps will still reign supreme at least in corporate IS). Once you've got those down, you can then pretty much choose the backend programming language, platform and OS of your choice (and there are quite a few choices).

Learning iOS development is still rather niche in that you will be developing commercial products for consumers. Most development jobs are more for internal business applications rather than commercial products. Smartly created browser-based apps will run on anything ;) (macs, PCs, tablets, phones)

Link to comment
Share on other sites

  • Members

...

 

 

I agree C++ is an abomination. I worked on it for several years and never really felt like I understood 100% of it. There's just so many facets and platform/framework caveats that it's a massive pain in the ass. Not to mention every C++ implementation decides to typedef their own types so you'll see things like ushort, USHORT, byte, TRUE, FALSE, true, false all over the code that's not part of the language.

 

I moved to Java from C++ and other than the freedom manual memory management, there was not much to miss. Now I'm into dynamic and scripting languages.

Link to comment
Share on other sites

  • Members

 

arrmatey, what have you coded 8 years before? what did you know back than what were your skills? why did you stop? what bothered you?


i was a good java coder and tried to stay away from web/servlet development. if you have done one web shop in one language, every new webshop / web site / web application in any language will be just the same.

i work now for a mobile operator for almost 10 years and my profession is system design and architecture, which stays fairly interesting in such a big and very distributed environment like a mobile operator has.


maybe i would love low level coding, designing compilers or the like, but all those high level end user stuff is not my cup off tea.


so what made you stop and where do you want to go now? this helps really to give advice where to look into, without making the same decision again and stopping again right afterwards if the same things come up again, with just another programming language or framework...

 

 

I graduated from University in Computer Science but our school's programming classes were very weak. The main teacher was really confusing and I barely scraped by. I basically have a degree but my teaching was very flawed, after that I ended up working in IT (data storage and IT helpdesk) but was at an age where I wanted to do something more exciting and started working as a sound engineer for nearly 8 years, touring and working in house at venues. Computers took a back seat. I am a point in my life where I don't want to be touring anymore (I got a girl I want to marry eventually), want a career change and got a degree that I should make use of by trying to get into a market that has always been healthy. I'm basically re-evaluating my life and the direction in my life and want to see if I can get back into programming. I do enjoy the idea of developing and recognising patterns but yeah, it's maybe not the most pure reasons but life changes when you get to your 30s and for me, the idea of being in the music industry makes me less and less happy. It will be a transition where I will still work some in house venue but I def don't want to be doing this till I'm old and past a certain age, it's not healthy.

Link to comment
Share on other sites

  • Members

With all due respect to Bjarne Stroustrup, who is a brilliant programmer, I think C++ was a giant step backward, but let me start from the beginning...


C is an abomination. It was intended to be a low-level/high-level language. By that I mean it was intended to be a high-level language, independent of the processor architecture, but low-level in that it had a very limited set of intrinsics which were about as close as you could get to machine language level operations without actually writing in assembly language. The goal was to produce a language that would compile to reasonably small and efficient programs, perhaps no more than 10% or 20% slower than a comparable program written in assembly language.


What's wrong with C is that Dennis Ritchie designed it using a Teletype 33, the most common terminal in use at the time. If you've ever used a Teletype 33 then you know that they are SSSSLLLLOOOOWWWW! You press a key (with considerable effort) and the key stays locked down while a marvel of mechanical engineering kicks in under the hood. After about 1/2 a second of whirring and buzzing that single character would have finally been transmitted, received back from the mainframe and printed, and the key would pop up again. You're now ready to type another character.


It doesn't take a genius to understand that entering even a short phrase can be time consuming. Touch typing? Not in your wildest dreams! Although the keys are layed out approximately like a typewriter, they are round rather than square, they take far more effort than even a manual Olympia typewriter to press, and (as mentioned above) it's really really slow. At the forefront of Dennis Ritchie's mind was entering lines of code with the fewest possible keystrokes. This meant very liberal use of symbols (those little characters on the number keys that you have to hold the shift key down in order to type).


Fast forward 10 years. Mainframe and minicomputers now mostly use video terminals. Desktop personal computers are becoming common. Touch type keyboards abound. And programmers are having to learn how to type C code, with it's heavy use of symbols, with their pinkies frequently reaching for the shift key. A programmer who learned how to touch type at a respectable speed would be lucky to get 1/4 of that speed when entering C code because he's constantly reaching for the shift key. I don't know about you, but I can type "or" a heckuva lot faster than I can type "||". Even the most common characters - the curly braces - require the shift key.


By this time even Dennis Ritchie is wondering "What was I thinking?"
:facepalm:

Then there are some confounding syntactical conventions. You can type a statement line as long as you want. It doesn't matter if it won't fit on a single line on the Teletype 33 because you can continue it on the next line. You can get away with this because a statement line doesn't end until you type a semicolon. The only problem with this is that there is virtually no limit to the length of a line when using a video terminal or computer screen. Using multiple physical lines for a single statement is an exception rather than the rule, so providing a way to extend that statement line to the next physical line should have been an exception. Nope. You gotta type a semicolon to end the line.


But wait - That rule doesn't apply to preprocessor directives. Those MUST end on the current line, or you have to use a backslash to continue to the next line. Nothing like having two different conventions for the same thing.


C++ - a noble effort to try to bring the concept of object oriented programming to C language programmers. The problem? C was meant to be the lowest of the high level programming languages. Efficiency and speed and all of that. Now we have the compiler doing all sorts of magical things behind your back, and if you don't explicitly understand what the compiler is going to do then you may not get the results you expect, and it may take some head scratching to figure out why.


Create a new instance of a class? No problem! But wait - why did we run out of stack space? Well, that's what happens when you create instances of classes that require a lot of storage, and you create them in local scope. Of course, you have to know something about the storage requirements of a particular class in order to figure that out.


Overloading functions - what a wonderful idea! Now you're staring at someone else's code trying to figure out which overloaded function is going to be called because you have no idea if "value" is an integer, a long, or a float. First step is to figure out where the hell "value" is declared.


Overloading operators - even better! Why the hell is this guy adding two strings together? Oh, wait. He's overloaded the "+" operator to perform string concatenation. You're struck with the realization that the guy who wrote the code has effectively created his own language, albeit with a syntax similar to C, which you now have to learn if you're going to figure out where the bug is.


I'll leave C# for another rant...
:cop:

 

So, your short answer for this- long time hardware tech/ wan Level network tech looking to learn a language that pays and won't suck should try to learn _________?

Link to comment
Share on other sites

  • Members

 

I agree C++ is an abomination. I worked on it for several years and never really felt like I understood 100% of it. There's just so many facets and platform/framework caveats that it's a massive pain in the ass. Not to mention every C++ implementation decides to typedef their own types so you'll see things like ushort, USHORT, byte, TRUE, FALSE, true, false all over the code that's not part of the language.


I moved to Java from C++ and other than the freedom manual memory management, there was not much to miss. Now I'm into dynamic and scripting languages.

 

 

Python/PHP?

Link to comment
Share on other sites

  • Members

I spent a several years coding.

Started doing shareware and freeware apps.

After awhile I got a job as a Senior Software Engineer at a company that did gaming programming. I did the prototype stuff.

Not typical computer games, but slot machine type games.

Was doing pretty good at that and making good money for a little over a year until IGT bought the company and shut it down (They don't like competition. Bastards).

Had a few jobs after that where I did some programming, basically just to make my job easier (I did IT type stuff), but that wasn't technically part of my job.

And I was completely self taught. No degree. Which was my downfall :(

 

I actually got an offer yesterday to write some code.

I have thought about going back into it.

 

I did (including scripting languages):

Java

Javascript

HTML

perl

C/C++

Pascal

Delphi (Object Oriented Pascal). That was my favorite language.

Basic

Visual Basic

I'm probably missing a language or 2 there.

Link to comment
Share on other sites

  • Members

You should learn whatever languages and platforms are hot in the market where you live. I live in Seattle...and I worked for Microsoft for 15 years before heading off to do my own thang...so I program in .NET, ASP.NET, C#, and Azure (in addition to JavaScript, JQuery, and other JS-based platforms like Knockout). But if I were in the Bay Area I would probably focus on LAMP stack technologies.

 

I'm told that if you're a Sharepoint expert, you can easily fetch up to $90-$150 per hour if you're really good...but as somone on this site once said: "I would rather staple my dick to my leg than write a single line of Sharepoint code."

 

If it's about putting bread on the table, man, follow Dirty Harry's advice and "Follow the money".

Link to comment
Share on other sites

  • Members
You should learn whatever languages and platforms are hot in the market where you live. I live in Seattle...and I worked for Microsoft for 15 years before heading off to do my own thang...so I program in .NET, ASP.NET, C#, and Azure (in addition to JavaScript, JQuery, and other JS-based platforms like Knockout). But if I were in the Bay Area I would probably focus on LAMP stack technologies.


I'm told that if you're a Sharepoint expert, you can easily fetch up to $90-$150 per hour if you're really good...but as somone on this site once said: "I would rather staple my dick to my leg than write a single line of Sharepoint code."


If it's about putting bread on the table, man, follow Dirty Harry's advice and "Follow the money".



Thanks for all the info. I've never heard of Sharepoint. Boy there is a lot of stuff that I need to work on. It's probably going to be a year or so's project before I can consider myself decent in any form of language. It's gonna be one heck of an uphill battle :(

Link to comment
Share on other sites

  • Members

 

I'm told that if you're a Sharepoint expert, you can easily fetch up to $90-$150 per hour if you're really good...

 

 

Ha, I doubt you have to be "really good". The reason Sharepoint developers are in demand is that:

 

1) "Real" devs don't want to do SP work; it's not fun or interesting the way other languages can be. Your actual coding skills will languish the more time you spend doing it.

 

2) There are lots of companies who bought into the SP concept because they thought they wouldn't need to pay for programmers. Now they have to pay top $ to make seemingly simple changes and they are locked into the product unless they want to ditch it or do a complete re-write with another tool/language.

 

The easy stuff in SP is very easy. The hard stuff in SP is very hard.

 

If the money's right and you're working with good people it might be a good career move. But I would equate it more to being a Word/Excel ninja than what we think of when we talk about traditional coding.

Link to comment
Share on other sites

  • Members

So, your short answer for this- long time hardware tech/ wan Level network tech looking to learn a language that pays and won't suck should try to learn _________?

 

 

Depends on what he wants to do. The job dictates which language he'll have to use. Unless he's hired as a project lead and starting from scratch, someone else will have already decided which language a project will be developed in.

 

My lengthy diatribe about C and it's various dialects was just a rant. It's too deeply entrenched now, and too many new languages are based on it's syntactic structure. What I was basically saying is that it's ok if you ask yourself "Why do people like this?" when you're learning C, C++, C#, PHP, Javascript, or any other language that shares some elements of syntactic structure with C. The truth is that many of us don't like it, and haven't liked it from the beginning, but when you're hungry you'll eat whatever you're served.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...