s0c0 Posted January 16, 2008 Share Posted January 16, 2008 There are still a few things I'd like to learn in PHP, but I think I have a strong grasp of the language (been programming in PHP for a year). The other thing I want to learn is building SOAP applications on both ends and I've ordered some books on the matter. I also want to solidify my MySQL knowledge and have ordered a book on Intermediate to Advanced MySQL stuff and one dedicated to stored procedures. The only other language I know is javascript, mainly Ajax implementations. I still have a ways to go with that, but I am pleased with what I've learned of Ajax in 6 months. I'm a beginner-to-intermediate user in Linux, but I am by no means married to a platform. What I am wondering is what would be the next best language to learn. I am a web developer and like web development and I have virtually no experience with any other languages. Any ideas? I'd like to find one that will give me the best return on my investment (salary/career-wise and making me a better programmer). Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/ Share on other sites More sharing options...
neylitalo Posted January 16, 2008 Share Posted January 16, 2008 If you want to stick with languages that can be easily deployed on the web, perl is a good option. It's also very, very common in the "Unix-like" world; you might even say it's a necessary skillset to have. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440513 Share on other sites More sharing options...
Daniel0 Posted January 16, 2008 Share Posted January 16, 2008 Python is an excellent language you might want to learn as well. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440656 Share on other sites More sharing options...
roopurt18 Posted January 16, 2008 Share Posted January 16, 2008 Learn c. Then learn about and implement various abstract data types in c. Then move on to algorithm analysis. You can do that in 6 months or less and would be greatly better off for it IMO. Many, many people, especially around this forum, are likely to disagree with me though. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440658 Share on other sites More sharing options...
jcombs_31 Posted January 16, 2008 Share Posted January 16, 2008 The only reason I would disagree with your roopurt18 is because C is not object oriented. I don't know if s0C0 understands OOP, but it would be the next fundamental thing to learn in my opinion. If you plan to stick with only web programming, I suggest you learn another web programming langauge if you really insist on learning. As suggested, you can try PERL, Python, or you can dive into the .net world and trying something like C#. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440794 Share on other sites More sharing options...
trq Posted January 16, 2008 Share Posted January 16, 2008 No one keen on Ruby? Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440814 Share on other sites More sharing options...
tomfmason Posted January 16, 2008 Share Posted January 16, 2008 No one keen on Ruby? I am! Ruby was the next step for me after php. Once you learn the syntax you will find that most other languages seem really long winded. The next language that I plan on learning is server side javascript with rhino and after that maybe groovy. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-440869 Share on other sites More sharing options...
roopurt18 Posted January 16, 2008 Share Posted January 16, 2008 The only reason I would disagree with your roopurt18 is because C is not object oriented. Which is precisely why I recommend it over c++. IMO, everyone should be familiar with at least one compiled language and one procedural language; c is both. If you look at the big picture, c is the best language there is. c is compiled so it's faster than snot c gives you control over the hardware c supports inline assembly when necessary There isn't a program you can't write in c Writing programs in c will make anyone a more careful programmer. Having to deal directly with strings, pointers, a polluted global namespace, etc. force you to really think about what you're doing. And once you can write priority queues, hash tables, and auto-balancing binary search trees in c such that they're perfect programs (no memory-leak, highly optimized algorithms, etc.) there isn't a program you can't write in any other language (as long as the language supports it). c has its shortcomings and dealing with them will give anyone a greater appreciation for the work that occurs behind the scenes in other languages. If c is your foundation, there are many more light bulbs that go off as you encounter things in other, higher level languages. Or, looking at it another way, if you're young and relatively new to programming, then you've got the time to learn a language as difficult as c. It won't be directly applicable to most of what you do as a programmer, I myself haven't written any c code in 6 or 7 years, but the experience and knowledge you gained while learning it stay with you forever. And c is arguably the hardest language to learn that bears any resemblance to today's most popularly used languages. Just MO. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441085 Share on other sites More sharing options...
jcombs_31 Posted January 16, 2008 Share Posted January 16, 2008 I'd just like to say that I HATED working with pointers. Some things are better done for you. You do make good points, and it is a great foundation for any serious programmer. But you have to put things into perspective. Is it really necessary to get down and dirty to make some simple web applications and interfaces. It all depends on what you want to do with your skills. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441099 Share on other sites More sharing options...
roopurt18 Posted January 16, 2008 Share Posted January 16, 2008 I'd just like to say that I HATED working with pointers. Some things are better done for you. Hehe, they can be tricky. As for the "having things done for you," it depends on the application. In web development, I agree. We deal with so much text processing a language like c would just slow us down, which is why it's not used (although it is used under the hood). But you are better for the experience. For instance, you could answer the question, "How come a large number of concatenations of large strings has potential to perform poorly?" better than someone who has never dealt directly with memory. Most universities have stopped using c, or even c++ as starting languages; Java seems to be the norm now. Tech-schools will stick with whatever is the current buzz and that certainly isn't c or c++. I just shudder at the thought of being a senior in an industry flooded by people who don't even know how memory works 10 years from now. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441161 Share on other sites More sharing options...
jcombs_31 Posted January 16, 2008 Share Posted January 16, 2008 You want to learn about memory and CPU, then dive into assembly. I only took 1 assembly class which started pretty easy but quickly became something I never wanted to bother with. The first programming class I took in college was C++, but we really only programmed C syntax. We quickly moved to Java for OOP and data structures, but even in java we only created 1 or two GUI programs. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441180 Share on other sites More sharing options...
GingerRobot Posted January 16, 2008 Share Posted January 16, 2008 Most universities have stopped using c, or even c++ as starting languages; Java seems to be the norm now. Tech-schools will stick with whatever is the current buzz and that certainly isn't c or c++. I just shudder at the thought of being a senior in an industry flooded by people who don't even know how memory works 10 years from now. Hmm, is that the case throughout universities in the US, including the better ones? I've just applied for Computer Science in the UK, and it seems that most still teach C in the first year, although perhaps alongside Java. Quite a lot of them use Haskell as a starter language too - apparently it's good for teaching. Anyone happen to have any experience of that? Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441183 Share on other sites More sharing options...
neylitalo Posted January 16, 2008 Share Posted January 16, 2008 Most universities have stopped using c, or even c++ as starting languages; Java seems to be the norm now. Tech-schools will stick with whatever is the current buzz and that certainly isn't c or c++. I just shudder at the thought of being a senior in an industry flooded by people who don't even know how memory works 10 years from now. Hmm, is that the case throughout universities in the US, including the better ones? I've just applied for Computer Science in the UK, and it seems that most still teach C in the first year, although perhaps alongside Java. Quite a lot of them use Haskell as a starter language too - apparently it's good for teaching. Anyone happen to have any experience of that? In my Computer Science course, C and C++ are postponed until after your first year. Java was just an easy way to teach the basic concepts and techniques, and then they really teach you what you're doing in your second through fourth years. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441190 Share on other sites More sharing options...
roopurt18 Posted January 16, 2008 Share Posted January 16, 2008 You want to learn about memory and CPU, then dive into assembly. I agree that assembly will teach better than anything about how programs really work, but I think it's too far removed from currently used languages to be practical. At least c supports commonly used programming concepts such as variables, functions, etc. BTW, I do have between 6 and 9 months of assembly programming from various classes I took in college; by far the hardest program I ever wrote was a priority queue in assembly. An additional note to the OP, c, c++, PHP, Java, etc. are all basically the same class of language. If you want to learn something totally different, look into prolog (<shudder>) or ML. Also, you don't necessarily have to learn a new language to become a better programmer. Lot's of things are standard across languages (functions, variables, etc.) A good exercise to becoming a better programmer is to challenge yourself with exercises. I could come up with a couple of exercises for you, or the community in general, if anyone was interested. @ginger I attended UC Santa Cruz and Cal State San Marcos (both in CA, United States). UCSC taught c and only c, but by my third year it was planned to start using Java for all incoming CS students. CSUSM used c++ primarily, but there was also talk of switching to Java for incoming students IIRC. Also, I did have a few high school friends who went to various other universities, most of them appeared to learn Java in the first year. My sample size is relatively small, but moving to higher level languages that bury the details does seem to be the trend. I applaud any university or tech school that uses c (or c++ used procedurally) as the starting language. Honestly, web development is such an easy money-maker I don't foresee myself doing this, but if I wanted to work in an entirely different industry, I would be able to do so because of my background. With my degree and experience, I could apply for an entry-level, and probably most intermediate-level, position(s) in any industry. "Yah, I can make dynamic web sites. Oh, you guys need a programmer for a new line of house-hold appliances? Yah I can do that too. Your shuttle software isn't working? I could take a look at it." It just gives you more options. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441196 Share on other sites More sharing options...
Daniel0 Posted January 16, 2008 Share Posted January 16, 2008 A good exercise to becoming a better programmer is to challenge yourself with exercises. I could come up with a couple of exercises for you, or the community in general, if anyone was interested. I'd love to hear some of those exercises. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441198 Share on other sites More sharing options...
GingerRobot Posted January 16, 2008 Share Posted January 16, 2008 I'd love to hear some of those exercises. Me too. Interesting information there. After a bit more digging, it looks like i was wrong; Java is indeed used as the starter language at most of the universities i applied too. Having said that, the first language you use at Bristol university is C and that's looking like the place im going to end up. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-441204 Share on other sites More sharing options...
s0c0 Posted January 19, 2008 Author Share Posted January 19, 2008 Wow, thanks for all the responses. Unfortunately there looks to be no consensus. I would love to learn something lower level such as C, but I would like to go with something a bit more practical for a web developer first. I think for now I will go with Perl, followed by Python or Ruby. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-443153 Share on other sites More sharing options...
roopurt18 Posted January 19, 2008 Share Posted January 19, 2008 I find your lack of faith disturbing. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-443272 Share on other sites More sharing options...
tibberous Posted January 20, 2008 Share Posted January 20, 2008 The only reason I would disagree with your roopurt18 is because C is not object oriented. [ul] There isn't a program you can't write in c[/ul] What about a Flash Game? Learn Flash - it will help you with your javascript. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-444308 Share on other sites More sharing options...
Daniel0 Posted January 20, 2008 Share Posted January 20, 2008 Duh... of course you can't make a Flash application in C. Flash isn't even a language. The language used in Flash applications is called ActionScript. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-444341 Share on other sites More sharing options...
fert Posted January 20, 2008 Share Posted January 20, 2008 What about a Flash Game? but what do you think the flash plugin is written in? The only reason I would disagree with your roopurt18 is because C is not object oriented. The only time i use OOP in coding is to show that i know how to. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-444351 Share on other sites More sharing options...
GingerRobot Posted January 20, 2008 Share Posted January 20, 2008 The only time i use OOP in coding is to show that i know how to. Isn't that slightly naive? Just because you don't find a use for it, does not mean it is not useful. Quote Link to comment https://forums.phpfreaks.com/topic/86243-want-to-learn-another-language/#findComment-444372 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.