![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Programmer
Join Date: Mar 2006
Posts: 40
Rep Power: 0
![]() |
Should I bother learning new languages?
I have a question...
Which languages should I focus on the most? I have knowledge of C, C++, C#, Java, Unix scripting, VB, Perl, and PHP. I have interests in Ruby and Python. I would like too know more languages but I feel as though my skill level in my current languages would start slacking if I do so. I used to write code at home, all of the time... back when I didn't do it all day for work also. I mainly use C,C++, C# and unix scripting... with a bit of PHP,CSS for my website. Should I stick with these languages and forget about learning new ones? Or should I learn new languages, if so which? I have noticed that a lot of people are preaching Java and Python... I've also been told that Python is a "starter" language. My interests involve client/server, network, database and web application programming and my formal education consists of mostly C and C++. |
|
|
|
|
|
#2 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
One presumes you have learned to solve problems. If that doesn't get rusty, syntactical rust won't matter much. A paradigm shift (to a functional language, say) will probably take more effort than a syntax shift within a given paradigm.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#3 |
|
Unverified User
Join Date: Jan 2007
Posts: 8
Rep Power: 0
![]() |
It will not harm you learning yet another language but unless you have a need to do so then your efforts are better spent elsewhere. There are some excpetions to this, such as learning a functional or declarative language. I have learned a few languages but I find that if I dont read code in them for a while I tend to forget some of the details.
If you have interests in client/sever programming then learn how TCP/IP works and try to design and implement some software. By learning a technolgy such as TCP/IP in depth will broaden the sorts of projects you can do and will be far more interesting. I think the key thing to remember is languages come and go but the general concepts stay the same. So by learning about databases or networks in depth will be a more valuable skill for the future as you can apply it to most langauges. |
|
|
|
|
|
#4 |
|
Professional Programmer
Join Date: Mar 2005
Location: Glasgow, Scotland
Posts: 317
Rep Power: 4
![]() |
I'll second what Timmy said about learning a new technique or technology rather than a new language (after all we could all be learning more languages for the rest of our lives). You already seem to be comfortable with a really useful set of languages and the law of diminishing returns applies here.
Got to say, as well - Python isn't a 'beginner' language! I don't program in it myself but have skimmed some of the literature. It's got a nice, clean syntax and is expressive and high-level but while some languages are better for beginners than others, their usefulness in other contexts has more to do with the flexibility of the language and the available libraries (essentially, what's possible, and how easy the things that are possible are to actually achieve in practice). Like I say, I don't know Python that well but I'd certainly say that while it does look to me like a language that would be quite easy to pick up as a first one, it's certainly scoring well in terms of general usefulness too. Think of it as a nice, portable, modern language that fits the same sort of niche as Tcl or VB - strapping together other things to throw together applications fast. Oh, and I'll also second what Timmy said about databases: the most significant difference between the software I used to hack together for fun in my free time and the software I write now as a 'professional' developer is the level of involvement of relational databases.
__________________
"I'm not a genius. Why do I have to suffer?" Last edited by mackenga; Mar 29th, 2007 at 5:57 PM. Reason: Insufficient rambling in initial post |
|
|
|
|
|
#5 | ||
|
Programming Guru
![]() Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 5
![]() |
Quote:
Language syntax is fairly superficial. For example: foreach (int x in numbers) { ... }
for (int x : numbers) { ... }
for x in numbers: ...
foreach $x (@numbers) { ... }
for x in numbers: ... end
foreach ($numbers as $x) { ... }Quote:
print "Hello World" class HelloWorld {
public static void main(string[] args) {
System.out.println("Hello World");
}
}Java is not necessarily more complex than Python, but whilst Java introduces everything at once, Python takes it slower. This is why some people consider Python a good beginner's language. However, once you get into Python, it's actually rather more powerful than one might assume. It has a good number of advanced features that Java lacks. Indeed, whilst Java may look like a rather complex language, in actuality it's a very simplistic and, some might say, restrictively basic language. Python starts off simple, but quickly outpaces Java with relatively exotic concepts like metaclasses, higher level functions and mutable objects. Ruby too is much the same. It's somewhat slower than Python, but arguably supports a larger set of features. At times it can be a little messy, like Perl, but whilst I tend to prefer Python overall, Ruby's class model is rather nice. |
||
|
|
|
|
|
#6 | |
|
The Oblivious One
Join Date: May 2005
Location: Ontario, Canada
Posts: 644
Rep Power: 4
![]() |
Quote:
And for what it's worth: numbers.each { |x| ... }![]()
__________________
Dr. Zoidberg: [ecstatic] I'm going to a movie... with FRIENDS! |
|
|
|
|
|
|
#7 |
|
Programming Guru
![]() Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 5
![]() |
I already had Ruby in my for-loop list, Jessehk
![]() I also deliberately left out languages that used higher level functions for iterating over a list, as IMO that's another topic altogether. |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Functional Programming Languages | ZenOswyn | Coder's Corner Lounge | 7 | Dec 3rd, 2006 3:05 PM |
| More languages? | UnKnown X | Coder's Corner Lounge | 27 | Dec 18th, 2005 3:06 PM |
| how many types of languages are there? | linuxpimp20 | Other Programming Languages | 1 | Sep 7th, 2005 4:53 PM |