Time to try my hand at programming as a career



  • I am looking to jump into Software Development, Web Dev, essentially anything that requires writing code. I've got a decent amount of languages under my belt already and have done a couple projects before now, but not too much as far as applicable experience to put on a resume. Do you guys have any tips for me for a good way to get into this? One of the big roadblocks I run into is that once I start learning a language, I have no direct application for it to be able to sustain what I learn.

    Just picking the brain of the community.



  • What languages do you have under your belt? The big up and coming languages today seem to be languages like Go, JavaScript and Ruby (isn't new but is doing well.) What kind of programming do you want to do long term?



  • I'm not entirely sure what kind of programming I'd like to end up in. I know Python, Visual Basic, SQL, HTML, and am learning Javascript and C#. I know, SQL and HTML are on the line of worth mentioning, but I figured I'd throw them in.



  • @FiyaFly said:

    learning C#.

    People are doing insane stuff with netduinos, if you're after a cheap project to learn something new...

    http://www.netduino.com/hardware/



  • Python is a good language to know, very general purpose and used heavily. VB is useless, unfortunately. It's a long dead language only used for supporting legacy code and as it was always the red headed stepchild language it isn't just legacy code but only legacy code from low end, bad shops. So it ends up being the worst of the worst code.

    C# is a good language but pretty limited in scope. I would save that as it is really the language of Windows only development, not where most development, especially the good stuff, happens. JavaScript is the big winner of the new languages as of late. A hundred times more important to learn than C#. Ruby is big, Go as Reid mentioned is a major new language making a lot of waves, Java out ranks C# in usefulness by quite some degree, Clojure, Scala and F# are all very interesting.



  • @FiyaFly said:

    Do you guys have any tips for me for a good way to get into this? One of the big roadblocks I run into is that once I start learning a language, I have no direct application for it to be able to sustain what I learn.

    Go pick an opensource project that is interesting to you and begin to submit pull requests to it (assuming git version control)



  • @scottalanmiller said:

    Python is a good language to know, very general purpose and used heavily. VB is useless, unfortunately. It's a long dead language only used for supporting legacy code and as it was always the red headed stepchild language it isn't just legacy code but only legacy code from low end, bad shops. So it ends up being the worst of the worst code.

    Mainly the reason I got good at VB, and more specifically VBA, is due to Excel. The first job I worked in IT we were the dev team and had to work with what we had, which was Excel. Built a small ERP system in Excel once with VBA. I can macro in Excel in my sleep now.



  • @JaredBusch Sounds like a plan. For me it is the understanding hwo to start on something like that that is unknown. But it sounds like something to find out about.



  • @FiyaFly said:

    @JaredBusch Sounds like a plan. For me it is the understanding hwo to start on something like that that is unknown. But it sounds like something to find out about.

    Most, but certainly nowhere near all, open source projects use C as their language of choice. You'll find projects in every conceivable language, but C rules the roost.



  • @scottalanmiller said:

    VB is useless, unfortunately. It's a long dead language only used for supporting legacy code and as it was always the red headed stepchild language it isn't just legacy code but only legacy code from low end, bad shops. So it ends up being the worst of the worst code.

    In your world/head, as always.
    I would agree with Scott to avoid learning it for future skills though.

    @scottalanmiller said:

    C# is a good language but pretty limited in scope. I would save that as it is really the language of Windows only development, not where most development, especially the good stuff, happens.

    I would disagree that it is limited in scope. It is the language of millions of Windows desktop applications. It will be decades before it is no longer used.



  • @FiyaFly said:

    @JaredBusch Sounds like a plan. For me it is the understanding hwo to start on something like that that is unknown. But it sounds like something to find out about.

    The nice thing about picking up an OS project is that they are usually already there and workign with stated goals or destinations in mind. All you have to do is jump on board.

    Most projects use GitHub or similar since GoogleCode went away. All you have to do is go find one on a subject you like and then look at their bug tracker and try to fix an issue.



  • @JaredBusch said:

    C# is a good language but pretty limited in scope. I would save that as it is really the language of Windows only development, not where most development, especially the good stuff, happens.

    I would disagree that it is limited in scope. It is the language of millions of Windows desktop applications. It will be decades before it is no longer used.

    That's pretty limited in scope, is it not? Making "Windows desktop apps" is extremely limited compared to making "broadly used server apps", "Windows and other desktop apps", embedded apps, etc. C#'s primary focus is in a single use case and a single platform (actually two use cases, but its server side use has gone down a lot because of the limitations.) Your description is exactly what I was pointing out. So I don't think that it is just in my head as you seem to have agreed with what I was saying.

    Writing "specifically limited to Windows desktop" applications is a very limited thing in my book. Python, for example, is generally useful for many, many different types of programming, not just one.

    COBOL is very limited, since the 1960s only used in any major degree only for server side financial applications and even that almost never (truly almost never) and yet it is still around. Few languages could be more limited (R might be, for example) but being highly limited doesn't mean that it isn't still used decades later, but it does mean that jobs have diminished and the freedom to do projects other than maintaining ancient COBOL code have all but disappeared.



  • @JaredBusch said:

    @FiyaFly said:

    @JaredBusch Sounds like a plan. For me it is the understanding hwo to start on something like that that is unknown. But it sounds like something to find out about.

    The nice thing about picking up an OS project is that they are usually already there and workign with stated goals or destinations in mind. All you have to do is jump on board.

    Most projects use GitHub or similar since GoogleCode went away. All you have to do is go find one on a subject you like and then look at their bug tracker and try to fix an issue.

    Not sure if Github does this but some services allow you to search projects based on language or platform to make it easier for you.



  • @JaredBusch Very cool. Sounds like I have my research and digging for the night.

    @JaredBusch said:

    @scottalanmiller said:

    VB is useless, unfortunately. It's a long dead language only used for supporting legacy code and as it was always the red headed stepchild language it isn't just legacy code but only legacy code from low end, bad shops. So it ends up being the worst of the worst code.

    In your world/head, as always.
    I would agree with Scott to avoid learning it for future skills though.

    No argument there as far as future skills. It has it's uses exactly where i've used it, but not much more. Though I gotta say, I have made some beautiful code in there. Commented to perfection and all.



  • @FiyaFly said:

    @JaredBusch Very cool. Sounds like I have my research and digging for the night.

    @JaredBusch said:

    @scottalanmiller said:

    VB is useless, unfortunately. It's a long dead language only used for supporting legacy code and as it was always the red headed stepchild language it isn't just legacy code but only legacy code from low end, bad shops. So it ends up being the worst of the worst code.

    In your world/head, as always.
    I would agree with Scott to avoid learning it for future skills though.

    No argument there as far as future skills. It has it's uses exactly where i've used it, but not much more. Though I gotta saw, I have made some beautiful code in there. Commented to perfection and all.

    Be aware, VB and VBA look similar but are two different languages. Same syntax family but full VB is part of the .NET family and has no power that C# does not have (e.g. they call the same libraries, if you can do it in VB you can do it in C#) but VBA is a scripting language based on the same parent language as VB - so they look a lot the same but VBA and VBScript are their own branch of the language family. VBA has no direct competitor (last that I knew) and is useful for specific things because of that. In your original post you listed VB, not VBA, so my comments were about VB.

    VBA has its place. I hate that they chose it as the language of MS Office automation but it is what it is. As a language I hate it but it is an important language for that one purpose.



  • @scottalanmiller Good point. I do feel the need to point out with that information that I am versed in both VB and VBA, but moreso in VBA.



  • The full on, full support, 100% in house stood behind by Microsoft .NET family is C#, VB and F#. J# used to be a member but was a really silly idea and fell by the wayside some years ago. Those three are interchangeable as far as resultant functionality go. Of them, F# is considered the best language generally but is extremely hard to learn and is based on OCaml. C# is part of the C syntax family and heavily resembles its older C family cousin Java. If you are going to do things in the .NET world, which is relatively specialized compared to languages like Python, C# would be the obvious choice and is very clearly where Microsoft invests the most time and effort and F# if you really want to push yourself to think differently about how you write code.



  • Right now the reason I am learning both Javascript and C# is because a friend of mine is a graphic artist, frequenting the Unity Community. He mentioned that there is a lot of calls for contract work for programming in Unity, using either Javascript or C#. Since I figured that's a good start point, and both of these languages have more uses than just Unity, I figured they would be my next targets.



  • JavaScript really has exploded as a language since the NodeJS guys adapted Google's V8 engine for use on the server side. JS was always heavily used and has done server work before but not using the Node libraries or the V8 accelerator. The performance of NodeJS is incredible and the architecture is really interesting. NodeJS took JS to whole new levels.



  • @scottalanmiller said:

    @JaredBusch said:

    C# is a good language but pretty limited in scope. I would save that as it is really the language of Windows only development, not where most development, especially the good stuff, happens.

    I would disagree that it is limited in scope. It is the language of millions of Windows desktop applications. It will be decades before it is no longer used.

    That's pretty limited in scope, is it not? Making "Windows desktop apps" is extremely limited compared to making "broadly used server apps", "Windows and other desktop apps", embedded apps, etc. C#'s primary focus is in a single use case and a single platform (actually two use cases, but its server side use has gone down a lot because of the limitations.)

    What?

    I've got tons of folks using C# for IIS applications. Not to mention that Sharepoint is built on it, which dominates the market. Although the C# work for Sharepoint is a lot less than the SQL work needed.

    Plus the code is very portable, as long as you have access to the right .NET Framework, it will run. Soon to any platform:

    http://techcrunch.com/2015/04/29/microsoft-launches-its-net-distribution-for-linux-and-mac/#.q2qqlx:sy3J



  • There is a bit, but it is very limiting. C# is far from a dominant language in anything but desktop application development. It's a good language loaded with power, but it's costly to manage as pretty much everyone runs it on IIS. Once you get to any scale the cost of C# really impact you. I've never seen a shop of any size doing any critical systems on it, just little ones that don't really evaluate long term risk well.


Log in to reply