6 Replies - 1189 Views - Last Post: 17 February 2010 - 04:04 AM

#1 Guest_lc123*


Reputation:

Confused about languages...

Post icon  Posted 08 February 2010 - 07:30 AM

Hi Guys

new to the forum, found it through google. (warning: long post!)

So my situation is this: I am looking to move forward with my programming "career" but am consfused about what I should do. Right now I work as a support/developer in a professional setting. I support the websites at my company. Any programming I undertake personally I do (probably badly!) through coldfusion. Simply, given I have little experience this is the easiest to use I have found. Also it is what our outside web developers use (I hand off any work that I can't do)

I have had exposure in my job to asp.net/C#, looking at existing code I can somewhat understand and probably make small changes to. But I would not be comfortable undertaking a development project in this. It seems to me that ASP.NEt is a bit more impressive, but also seems a lot harder.

While I am doing fine in my job, and can easily give people what they want usually, using the CF/dreamweaver, in order to move forward in my career I feel it is necessary for me to get some kind of certifications. I do have a degree of course, in information systems. But i need to get actual programming knowledge/certifications

my company will likely pay a large chunk of class costs for me.

but what to do? Should I study alone, using books and take online tests like the Adobe certification in Coldfusion, or the various Microsoft asp.net certifications available? Should I start "at the top" and take a C programming course? I did take Java in uni but I can hardly remember that so my OO programming knowledge is somewhat rusty.

Basically I'm not really sure what direction to go in. I began searching online and found out that there are about a dozen programming languages I've never even heard of, and people say they are the "best" so I'm terribly confused!

Seems to me since what we use here now is Cfusion and asp.net/c# that would be what I should learn. But I want to end up with tangible certification of some kind as that is the sort of thing my boss will recognize. While I can learn plenty as I go (which is what I've been doing, relatively sucessfully) it doesn't get me any closer to promotions really.

So, any advice is appreciated.

Thank you!

Is This A Good Question/Topic? 0

Replies To: Confused about languages...

#2 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1138
  • View blog
  • Posts: 7,111
  • Joined: 07-September 06

Re: Confused about languages...

Post icon  Posted 08 February 2010 - 01:22 PM

This is actually a very good question (as such I am featuring it the thread). I (personally) don't have any certs from anywhere, but believe that good coding and knowing what it is that you are doing should suffice in most cases. Now, that isn't to say that certs aren't important, and in fact there are some companies that look specifically at if someone has a cert in the field they are applying for (if they don't their application is put aside). So there is definitely at least some good outcome from getting them.

As for going to classes or not, I am an advocate for learning a lot from free sources. Until this year I was a completely self-taught programmer, learning Javascript, PHP, Actionscript, Python, C++, and Java on my own time. Now that I am in college and going into the computer science field knowing the material isn't all they care about, you must also be able to complete the projects and code up to par with the rest of the class. While this isn't a problem for me I did find that the first semester went by slowly. I know all they were teaching and had already done all the projects (in Java as opposed to C++, but I like C++ better so the conversion was simple).

However, there is something to say for having a Comp Sci degree to put on the resume. Self-teaching is all fine and dandy, but there are plenty of people out there who "self teach" and have no clue what they are doing. This gives a bad name to the rest of the people who teach themselves something (like programming) and leads to companies overlooking people who claim to be self-taught. Given this I would recommend that you continue to study a bit on your own but consider (a lot) the company's offer at paying the majority of your class bill. Not only will you be learning in a way that will help you get a job later on in your career, but you will also not be paying the full bill. I know I wish I had some way to avoid the loans I am collecting.

In short, I would continue learning as much about the programming as you can on your own and then also take the classes available. You may find that you can skip the intro level courses based on your current or accumulated knowledge, which will save you time and money, as well as make the company happier (they will have to spend less on education). But that is just my position on this matter, there may be others that think differently.
Was This Post Helpful? 3
  • +
  • -

#3 Guest_lc123*


Reputation:

Re: Confused about languages...

Posted 08 February 2010 - 01:45 PM

Thanks for the reply betaWar!

Yes I think it definitely makes sense to take advantage of the company footing the class bill.

I think what I will do for now is buy a couple of books. Since I "program" in coldfusion all the time I should probably buy a book on that since I'd never really heard of it til I came here and just really learn everything on the fly. Luckily CF lends itself well to this sort of thing as its darn easy to do things with. But I probably don't know about 95% of the stuff you can with it. Also I have a suspicion that it being so easy to use means it's probably not that great, ha.

Also maybe I will get a book on Object Oriented programming to refresh my memory. My boss said they'll pay for any books I want to buy anyway.

Once I have got more of a general overview/picture (right now everything is very fuzzy in my head, I mean like- I deliver things to people but often at the end I don't really know how it happened ha) I might better know what direction to go in.

I thought of going for a Masters Degree in comp science but I think it would be overwhelming for me at this stage, and not just financially (I'm sure the company has a cap and it's probably a lot less than the $20k + it takes to get the masters degree!!).

So maybe step 1 is books, step 2 is easy certifications that my company will "recognize", and step 3 is looking at something more long term like another degree.

I'll continue to learn on the fly using google as I do now of course. Oh what would I do without google! I'd probably be in "project management" instead...
thanks again!
Was This Post Helpful? 0

#4 danny_kay1710  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 28
  • View blog
  • Posts: 358
  • Joined: 27-April 08

Re: Confused about languages...

Posted 09 February 2010 - 03:27 AM

Something I would say is be open to looking at the basics of other languages.

For instance I am not a C/C++ developer by any stretch of the imagination but I know some basic functions of it and how to make some generic console applications etc.

It wasn't till I looked into developing with C++ a good five years ago that I truly started to fully understand OOP. I knew the concept and the practices of it hell even the theory behind it, but just by looking at it from another languages perspective actually helped my productivity in VB.NET/C#.

Before I looked at C++ I can honestly say my understanding of OOP was closer to that of a purely event driven programming style.

It helped me understand how to implement them for my ideas, when best to use them, how to generally structure your classes etc.

I would maybe pick a few languages and learn the basic concepts in them all, a lot of it will seem like repetition but sometimes it takes that slightly different explanation for the penny to drop.

It comes back to the separation between the programming syntax/semantics and the theory behind the different programming styles you can adopt. If you fully understand the theory behind a programming style then you should have little problem applying that theory to another language. All you have to learn is essentially where to put comma's, parenthesis etc.
Was This Post Helpful? 1
  • +
  • -

#5 Guest_Taz*


Reputation:

Re: Confused about languages...

Posted 17 February 2010 - 03:49 AM

I second danny_kay's comment about c++, and I think as languages go, c++ is the only language that actually helped me develop an understanding of what is actually going on 'behind the scenes' when I program. This is an incredible insight to obtain, and I'd dare say that you'd have no significant problem picking up any other language after this insight is obtained, as you'll be able to decipher what the language and its automations are trying to do for you.

I had to learn the hard way: I did a masters in advanced computer science, with no prior programming experience (a gamble, both for myself AND the lecturer who recommended me). I learned programming in parallel to the advanced concepts of the degree; I learned c initially (which is also very useful, and in fact I'd recommend learning some c before c++, since it's a subset of c++ anyway, and this order of doing things will speed up your understanding, without incurring too much of a time penalty) and then I learnt java. Then I needed to program my dissertation project in c++, and they told me that "if you know c and java, you can learn the extra c++ stuff in 2 days".

They were wrong! While I now understand where they were coming from (i.e. had I a deep understanding of what is going on when one programs in c or java, then c++ isn't much different in terms of syntax) in reality it was the other way around. Had I known c++, java would have taken me 2 days. In fact, c++ took me 2-3 weeks to get to grips with, even just to start writing code, since all the 'deeper' concepts were new. Not only that, but c++ has very few automations, if any, so it forces you to keep track of everything yourself, and program in a structured, thorough and methodical manner (which is priceless for learning); not doing so usually ends up biting you in the ass 10 lines later :P. Java, on the other hand, has many automations, most notably for instance a Garbage Collector, which ensures you minimize memory leaks in your programs. So, while moving from c++ to Java is a breeze because you say "ah, great, this is already done for me in java, I don't have to sweat about it", the other way round was a nightmare. And the automations in Java are likely to be different to other languages, whereas if you know how the gears work, figuring out what automations do for you (and their cost!) in any language should be easy.

When I'd been programming in java, it turns out all I was doing was following a couple of commands and use them by example, but I wasn't really aware of why I was doing it or how it worked. Heck, looking back, I was lacking what I now consider fundamental concepts (which I'm sure are covered to a significant extent in a CompSci BSc, hence perhaps the thoughtless 'c and java then c++' comment from my supervisor). The analogy to that would be people learning a spoken language by pure repetition of phrases and vocabulary as opposed to trying to understand the rules that make those phrases work. As soon as you have to learn another phrase, or another language, any advantage you'd have from structural insight just isn't there, and you'd just have to memorize the whole thing again - often badly.

So yeah, my long-winded point is, if you're considering learning a new programming language for personal-development reasons, I'd go for c++. It's not necessarily the most asked for language in industry projects, but learn it, and you will be able to tackle any other language that is thrown at you without fretting too much.


HOWEVER ... on the second point of your question regarding 'certification' vs 'personal experience', my advice to you is: "Don't try to be good at a job you haven't already won. Win the job first". Again, a lesson I learnt the hard way. My major was in medicine, but I'm sure this applies universally. I naively thought that trying to be a good well-rounded doctor would get me a job. It didn't. At all. Then I decided to play the game / system instead, and focus on exam questions exclusively, and collecting hypocritical CV brownie points, (often to the detriment of my actual skills) and that got me the job. And now I can focus on becoming a good doctor again, see? It's a cynical view, I know, but unfortunately that's how the world works. If certification is something people ask for in general, then do it, even if you don't believe it will personally help you mature any further as a programmer. If breadth of self-taught languages and volume of presentable programs is what they'd ask for instead, do that instead. etc. Don't be proud. Don't hesitate to do a crappy course on things you already know, if it means you'll get that formal certificate you're missing from it, that can impress the ignorant pointy-haired boss reading your CV. Heck, I had to get an ECDL certificate right after my MSc in Advanced Computer Science, just to please the managers, as it's a separate tickbox in my job application form - talk about humiliation! It's like saying "Yes, you can program a user interface ... but can you use one?" :P Do yourself a favour, find out early what boxes actually need to be ticked, and start ticking them ... you can focus on becoming good for its own sake later :)
Was This Post Helpful? 1

#6 Guest_Guest*


Reputation:

Re: Confused about languages...

Posted 17 February 2010 - 03:57 AM

(hm ... don't know why my name appears as Guest_Taz instead of my username ... :( )
Was This Post Helpful? 0

#7 tpapastylianou  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 4
  • Joined: 22-January 10

Re: Confused about languages...

Posted 17 February 2010 - 04:04 AM

(right, bug in D.I.C, showed me as logged in but behaved as if I wasn't ... logged in properly now ... sorry for the Guest-spamming and posting again, but I just wanted to be notified of any answers to the thread. Also if you found my answer helpful, please indicate this here, rather than my Guest_Taz box :) )
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1