I had c and c++ in my 2nd year's CS semester.
what programming languages should i learn after these.should i strengthen my skills in these languages again or should i try learning other prog languages?which ones are useful for web development?
What if i wanted to develop a small website all by my own ,then which languages do i require to learn?
Perl is a good language to know. Hear me out before you mod me down into oblivion! I'm not much of a Perl developer. At work I use Java. For personal projects I like to play around with the "cool" stuff like Python, Lisp or Ruby. For me, Perl is great for all the stuff in between.<p>For my entire development career, no matter what language I'm using, I've found myself using Perl on almost a weekly basis for little adhoc scripts. Generating test data? Text processing? Quickly automating some tedious task? Perl to the rescue. I guess if you know Ruby or Python you could do the same thing with those, but Perl is almost everywhere and you have all of CPAN at your finger tips.<p>Even though I'm not developing my applications in Perl I consider it one of my most crucial tools that I can't live without. I think every developer should have one of these and with its ubiquity and CPAN, a strong case can be made for Perl.<p>It also doesn't hurt that there are plenty of jobs out there for good Perl developers. We've all seen terrible Perl code and heard the jokes, but the fact is there are some very large Perl projects (some very high profile) being worked on by some smart people. Sure, Perl has its warts, but it's incredibly useful and a little discipline will go a long way.<p>There's my case for a practical language... If you want to learn something that will fundamentally change the way you think about programming then learn Lisp. I read the PG essays, the Eric Raymond stuff, etc. and decided to take a look. Eventually, things just clicked and it gave me a whole new perspective on the languages I already knew.
In my mind, the three major branches of programming are imperative (C/C++), functional (LISP) and declarative (SQL, PROLOG). A lot of people will tell you to look at LISP, and they're right, but also look at PROLOG. It too will expand your mind.
for me, python is still the most fun language - and it gets you into webdev via django nicely (used in <a href="http://code.google.com/appengine/" rel="nofollow">http://code.google.com/appengine/</a>)
Learn the guts of an OS (preferably *nix). Build an OS yourself in an OS class if your school offers it. You'll be surprised how important this knowledge will be in building/scaling web services. And, this skill set will be more valuable than just learning the same paradigms you already know in a new language.
I think it's a great thing you did some c and c++ as I only skimmed over c in class and mostly done all my classes in Java (writting a compiler in java - gah!). Did you like it? I have done a little c++ on my own and there is so much to learn I was overwhelmed by all the libraries you need to know if you don't want to be writing c in classes (boost , std, etc).<p>As for web language I love ruby (and rails as a framework) so I'm kind of bias but try learning python or ruby or if you feel like suffering (I find it too old school (I'm not trolling)) some perl (which as a huge community - CPAN).<p>Also, try looking at a functionnal language if you haven't in class (I learned Standard ML). It really helps to graps some concept that are harder to undertsand with `clunkier` languages.<p>I kinda went off track but hopefully this helps.
Pick one that's generally associated with web stuff. That's pretty much Ruby, Python, Perl, Java, and PHP these days. Take a look at all of them on the surface level to see what's interesting to you, and just pick one and go.<p>Given that you already know C and C++, I'd learn Perl, Python, or Ruby, since they're a very natural extension of C and C++ and can be used very easily in problem domains where you wouldn't want to use C or C++. Learning more than one of these may prove useful if you want to hack on a variety of different open source codebases, so whichever one you pick first isn't so important as picking one and having it in your toolbox.
this is a toughie to answer. it really depends a lot upon your situation. first, its always good to become more proficient with the tools in your toolbox.<p>i'm assuming that, by posting here, you're looking at web development. here are some languages useful for web dev: python, php, ruby, perl<p>if you're looking to expand yourself as a student and coder, consider looking into these: lisp, ocaml, prolog<p>if you want to graduate with a decent corporate job, take a look at these: java, pl/sql, cobol
If you are looking for a language that will expand your programming horizon try Scala (closer to C/C++), Lisp or Scheme (both very different from C/C++).
In my opinion, as a student, you must concentrate on subjects like Data structures, Algorithms and Operating Systems (If you have already done a course in these then go for advanced levels). They are the foundations. Moreover a semester is way too less for C/C++ . Once you have a good grasp on C/C++, learning most of the other languages will be fairly easy.
I wanted to say Lisp as well, but if you want to tackle web development...there's this web "framework" called Seaside that's written for Squeak Smalltalk and there's a one-click package meaning that you click, it loads up and starts a web server and you start messing around with it.<p><a href="http://seaside.st/" rel="nofollow">http://seaside.st/</a>
yous tudy CS and only studied programming in the 2nd year?<p>What languages do you know more?<p>Id say go functional, entirely different, mindexpanding and might be very important in the near future because of concurrency/parallellism.<p>Erlang, Clojure, Common Lisp, Scheme.
depending on what you want to do dev wise you should strengthen your skills in these by working on actual apps in them. Get involved with a favorite open source project in on of these languages. School doesn't generally teach real world coding in my experience.
Learn language which can be easily extended by c/c++, say python, php or ruby, so you can continue to improve your skills in c/c++ and learn new language at the same time.
It is unlikely that you know C++ to a professionally useful depth from one semester. It's also fair to say C++ expertise is more employable, and in more diverse and interesting domains, than the dynamic languages.<p>As best I can tell Perl, Python, and Ruby are all practically equivalent. All equally suited to web development. Just pick one. I don't think it's unreasonable to claim that Perl is still the most likely to be professionally useful.<p>I never got the lisp propaganda. I invested some time with scheme and didn't get much out of it. Yes, I wrote macros and used call/cc. The most useful idioms are in fact already available and used in the so-called scripting languages. IMHO, your time is better spent completing good projects with rock solid libraries than futzing around with the language fetishists. Maybe there are some deep insights from Haskell I'm missing, but I seriously doubt it.
That would depend on what you would want to work on in the future. In my opinion you should try getting hold of 8085 Kit and do a bit of assembly. You should also try one of the functional languages(Haskel, LISP or XSL Transforms). If you want to do web programming you should look into Python and C#(ASP.Net).
Java is the language for a lot of web-based "portal" applications. You might go to a book store in the computer science section and look around for books on Java and web portals. This topic includes related technologies such as XML, and XSLT.