I was thinking about the previous blog post I made about first year undergrad programming languages (found here)
I shall express my opinion, feeling and experience about programming languages:
- My first programming languages (before uni) were: QBASIC, VisualBASIC and C++. I found using Delphi very awkward when I came to uni, it was like walking into a straight jacket.
- If you know C++, Objective-C, C# or Java then it is easy to move to any of the others in the same group.
- I feel that one Object Oriented language (e.g. Java or C++… C++ is quite good because procedural programming can be covered with C too) and one functional language (e.g. Haskell) is the best set-up for the first year of undergraduate study. OO is a solid foundation for all modern software development, and Functional Programming is excellent for data structures and algorithmics.
- If you know either Ruby or Python, then its easy to go to the other (although Ruby programmers may find Pythons whitespace quite restrictive). I have to admit, BASIC and Perl are not too far away from Ruby or Python either!
- If your university doesn’t delve into logic programming or expert systems programming then have a go at some Prolog and some CLIPS in your own time. Both are very interesting languages which have benefits over the standard languages you currently hear on the job market (i.e. java and C#). Beware they are very different in philosophy, so you will have to adopt a different thinking methodology.
- If you have to develop in Delphi, then explore some other forms of Pascal such as: Chrome Object-Pascal, Oberon and Zonnon.
- Be aware of cross-platform ability. If you can make it cross-platform then do (have a look at the Mono Project.
Right, so I have told you about my experience. But seriously, if you are a prospective undergrad then do not base your choice of uni on the programming language(s) they teach, because it really is the theory that is important and not the exact syntax of a language.
(the aboves are just my current opinion, and you should try to form your own opinion on the subject… but it is useful to gather other peoples thoughts too)
Technorati Tags: programming, languages, myexperience