Remembering programming languages

Associate
Joined
8 May 2009
Posts
296
In the next 2-3 years I'm looking to get back into IT. In that time I will complete a BSc in Business and Information Systems.

I used to be a web developer (PHP/MySQL). About 10 years ago whilst in college I recall doing programming in Pascal, Delphi and a while before that Visual Basic.

I've not used any of those languages for 10 years at least so can't remember them at all.

Do you guys find that once you know some programming that you can pick up other languages fairly quickly. E.g. all languages have variables, loops, functions, etc...

I only ask as I list these on my CV as I have experience in the languages. Obviously I wouldn't claim to be actively coding in it, and wouldn't ever apply for a job that had a primary need for them.

Just wondering as it's hard to keep on top of PHP, Scripting, Ruby, Python, C, and all the other languages. I guess you can only really keep up-to-date and fresh in some of them?
 
Since syntax is similar with most languages that's all you need really, and some reference to look up built-in methods since you're not expected to remember them all anyway.

I sometimes do some C# work but not very often (once every 1-2 years?) and it only takes me a couple of hours to get back into the swing of it. Could be a bad example though as Visual Studio is a boss IDE :)
 
I work in sql and while bits of it will remain with me forever its the more subtle/complicated bits of syntax that I wont remember if I stopped coding in it tomorrow.

That said if its a widely used language the majority of it you can google.

I think that makes sense.
 
My first programming language was 'Basic' on the ZX spectrum. Yes I'm old.:p. Then I learned DOS when studying IT just after leaving school. Then much later I taught myself HTML/CSS for a webpage that I set up. These were the days before we had CMS solutions like e107 to create webpages.

The fact is, I've forgotten these things and would probably need to start from the beginning again If I were to use them now.
 
Since syntax is similar with most languages that's all you need really, and some reference to look up built-in methods since you're not expected to remember them all anyway.

I sometimes do some C# work but not very often (once every 1-2 years?) and it only takes me a couple of hours to get back into the swing of it. Could be a bad example though as Visual Studio is a boss IDE :)

As a hobby or as part of your job? I'm just curious as to what job would require the occasional bit of C#, but only once every 1-2 years :)
 
Do you guys find that once you know some programming that you can pick up other languages fairly quickly. E.g. all languages have variables, loops, functions, etc...

Not true. Some languages do not have loops. /Pedant. :p

Syntax is easily forgotten, programming paradigms and language features are the important things to remember as they are transferable across languages.
 
Are you currently doing C, as if you are you shouldn't need to ask, you should be able to pick up VB over a weekend again.
 
I find picking up a language again pretty easy once you get going, though some of the more obscure tricks, especially with specific addresses for memory peeking/poking in older languages are harder to recall.
 
Moving within a paradigm is painless. C & Fortran are both compiled, procedural languages and behave much the same as each other*, so even working on a single program written in both isn't especially difficult. Moving between functional and object orientated languages is a bit more of a shock. Lisp isn't very like Java.

Some languages are also a lot simpler than others - writing in C is a completely different beast to writing in C++.

*syntax differs, sure, but semantics are pretty close
 
I had to revisit ADA recently and although it was over 20 years since I last touched it I found it quite painless. I'll echo above though there is a real difference between C and C++. You expect it to be straightforward because the name is similar.
 
In general yes but I think its a bit of an industry lie for the most part. To become good and efficient and build good software you cannot just pick up most languages and knock out production grade code.

They all have their own ways of doing things and their own libraries, frameworks which follow different patterns.

Understanding the core concepts of programming allows you to learn the language but I would say that it will take a good while to become a good programmer in a lot of languages to learn the nuances and pros / cons.
 
In general yes but I think its a bit of an industry lie for the most part. To become good and efficient and build good software you cannot just pick up most languages and knock out production grade code.

They all have their own ways of doing things and their own libraries, frameworks which follow different patterns.

Understanding the core concepts of programming allows you to learn the language but I would say that it will take a good while to become a good programmer in a lot of languages to learn the nuances and pros / cons.

It depends how you rate 'good software', a programmer may think something is good because they understand the complexity and difficulty in how something maybe programmed but the buyer won't care what language you use, how you wrote the code form your head without needing a reference book or appreciate those custom DDLs you wrote.

In my job I do some programming (although not actually part of my JD) but the main part is testing and maintaining custom built industry software built by small companies. What I have found is that too many programmers don't appreciate the end user, they forget too easily that most people aren't used to computer conventions and aren't IT literate.

I don't buy Apple products generally but I have massive respect for the way they approach their software. They think of the end user first and then figure out how to get there. I try and do this when I wrote programs, I don't "think what can I build from what I know", I think "what is needed" and only then do I start thinking about how to get there.

The problem is being inventive and creative, and being academically proficient in programming languages are different things. I would argue the best programmers have more of the former than they do the latter.
 
Oh the customer usually couldn't care less how it is cobbled together under the hood but one of the trickiest parts of development is writing code that is fit for the future. Its easy to write something that fits the current requirements but to make something that can be modified over years is something else.
 
Do you guys find that once you know some programming that you can pick up other languages fairly quickly. E.g. all languages have variables, loops, functions, etc...

yes, programming is so much more than the language (that is just a tool).
Programming is about algorithms, data structures, design patterns, , models etc.

And software development is so much more than programming (architectures, testing, design).

It is like driving cars. Driving one car is not very different to dirivng another car. Some cars are even easier with automatic gears, traction control, automatic choke etc, other cars are harder. but driving is Driving, it shoudln't take you long to learn to drive a different car. Of course some cars are very different to others, sports cars, lorries, tractors and might take a bit more time to get the hang of.

Driving is like programming.

Being a race driver requires a whole new set of skills on top of drive, that is like being a software engineer to a programmer.



You also have to realize that things like HTML are not programming languages, so they are very different languages Things like SLl are also somewhere in between (it is not really Turing complete natively)





of course some people like to screw with you all: this is all valid syntax in various languages:
Code:
9♦8♥J♦A♦2♣3♥7♠J♦A♦7♦J♦J♦A♦3♦J♦5♥6♦4♥J♥A♥6♠6♠J♥A♦8♦J♦A♦8♠J♦A♦3♦J♦A♦6♠J♦A♦8♠J♦A♥3♦2♠J♥A♥2♣6♠J♥

IT'S SHOWTIME
TALK TO THE HAND "hello world"
YOU HAVE BEEN TERMINATED


"dlroW olleH">:v
             ^,_@

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.


HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE


('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
 
Last edited:
As said a lot depends on your lead developer/software engineer and what they expect, if they want high quality, well commented future proof code then you wont last long if you cant deliver.

And also as has been said, you have to separate the core language with what you are using the language for, for example I could could look at any C/C++ driver code, or compiler code, or some specialised area such as rendering say, and understanding the what the language is doing on a syntactical level however I wouldn't necessarily know what it's actually trying to achieve behind the scenes as/if I don't know driver architecture, I don't know the hardware architecture that the code is targeting and how it all intertwines with the OS architecture, but I could follow it line for line and understand the principles of the language.

Programming interviews are pretty hard anyway so you would soon be summed up as to your capabilities.
 
Last edited:
As a hobby or as part of your job? I'm just curious as to what job would require the occasional bit of C#, but only once every 1-2 years :)


Often as a developer you will not work in a single language. Certain projects need to be developed in a particular language so you could easily go 1-2 years without touching a language depending on what you are currently working on.
 
Back
Top Bottom