The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

The reason why I wanted to use this forum (instead of say using google) is because a forum is used to raise and answer questions, I like forums because its a safe environment to explore ideas, concepts. Am I wrong to do this? I sure hope not.

I like the forum for the same reason and NO you weren't wrong to do it.

Why don't you search the web rather than call for people to convince you to use it.

Correct me if I'm wrong, but this would be the proper place to ask about ruby and what it offers vs PHP, .NET etc. Why search google when sitepoint just opened the gates to a new Ruby Forum for discussion and topic.

I'd rather come to a place where people actually use it or know about it (to discuss it) rather than read countless tutorials and static opinions.

So just how many programming languages should a web developer be fluent in? Two? Four? Ten? All of them? Does picking up new languages get easier once you have more or less mastered one or two like PHP or Java?

As many as you need.

My personal philosophy is to always be familiar with all the popular languages out there, because, sooner or later, you WILL have to deal with one of them.

You should also realize that no single language is suitable for every task. Java comes close, but it's got at least one major shortcoming in every area of development, so it's usually best to use another language.

I'm also quite comfortable with Java, Delphi/Pascal, VB / VB.Net, and familiar enough with Python, Ruby, and common lisp to know how to fix problems in code and tie things together (although I'm not particularly fond of any of them).

Every programmer who works with the web should be intimately familiar with html, xml (and all major xml schemas: xhtml, svg, etc.), css, and javascript as well.

You can PROBABLY get by just sticking with 1 language, but your career will never really expand out that much. There are plenty of guys who have just done work on mainframes their whole lives using COBOL or FORTRAN or something -- you know what they do now? The maintain legacy mainframe apps until the new web-based ones are ready for production. Call me crazy, but that's hardly my idea of an exciting career.

My recommendation is to try to learn as many languages as you have time. You may well discover that learning a new language makes you a better programmer in a language that you already know, or, even better, you may discover a language that you like better than whatever you're using right now.

Languages are not family. I'm baffled as to why people cling so desperately to them. You can always learn a new language, especially when dealing with C-derived languages (C, C++, D, C#, Java, PHP all being obvious examples) without much difficulty. Languages derived from BASIC or smalltalk shouldn't be too hard, either. Now, that isn't to say that there aren't always new, challenging languages out there to learn. Try tackling LISP or even good ole' x86 assembly some time.

Little more to it then that..LOL...especially in a shared virtual host environment. I just recently added Ruby on Rails to one of my servers and will be offering it soon as part of my hosting packages...just need to do some tweaks and install scripting...it's not just a matter of installing a "mod".

No, there actually isn't anything more to it than installing (and by 'installing' I am also referring to the proper configuration of your webserver to allow loading of the module, etc.) a "mod".

If you don't understand the difference between the languageRuby and the frameworkRuby on Rails maybe you shouldn't make comments on how hard or easy it is to install them?

If there is a way to overcome the suffering, there is no need to worry; if there is no way to overcome the suffering, there is no point to worry.
- Shantideva

You should also realize that no single language is suitable for every task. Java comes close, but it's got at least one major shortcoming in every area of development, so it's usually best to use another language.

Boy, you sure claim to know a lot of languages . Sorry dude, I don't believe you.
.......
Yes, if you mean the syntax. I myself can write the "Hello World" application in aprox 15 languages But does that make me a good programmer ? yeah right

if you don't have the skill or capabilities to learn or work in more than 1-2 languages then that doesn't mean that others can't!! For all you know, he might be telling the truth, its not impossible. I myself am more than proficient in Basic, C++, VC++, VB6, Java, ASP, PHP and know more than basic stuff in Perl, VB.NET, Pascal and now I'm learning Ruby & Python. So what?? Next you might be saying that you don't believe me, take a hike, do I care whether you believe or not? I know what I know, it doesn't depend on whether you believe it or not!!

The real thing is that you may know many languages, but you hardly work with more than 2-3 of them over a period of time, so you remain fluent in them while you get rusty in others. Now I've been working solely with PHP for quite some time, so I'm obviously quite rusty in others, the more time since I last used a language, the more rusty I'll be with it!!

if you don't have the skill or capabilities to learn or work in more than 1-2 languages then that doesn't mean that others can't!! For all you know, he might be telling the truth, its not impossible. I myself am more than proficient in Basic, C++, VC++, VB6, Java, ASP, PHP and know more than basic stuff in Perl, VB.NET, Pascal and now I'm learning Ruby & Python. So what?? Next you might be saying that you don't believe me, take a hike, do I care whether you believe or not? I know what I know, it doesn't depend on whether you believe it or not!!

Well you surelly quoted the important parts of my reply. But you sure haven't read what you highlighted.

My reply is again: when pigs will fly

PS: if you are "more than proeficient" with Java and VC++ how came you are working in PHP again ? If only because Java and C++ programmers are much better paid, and it is still enough to use PHP only in pet projects.
Seems curious that's all.

every time it seems that for you is more important (and "cool" ) to know 750 languages than to master very well a powerful language like it is php mainly in a web development environment.
I am sure that here, those who state that they know even two or three languages (php included), don't know php at 100%.
I have been studing php for some week and my intention is to know it very well and not superficially. I'm not thinking how many languages i can learn. I want to be a web developer so my tools are xhtml, css, php, javascript ecc, and i want to know them very well.

I think things are derailing a bit here. Lets not bicker and argue about who knows what languages. I think it is reasonably safe to say if you can program well in a single language, then it only takes about a week of concentrated effort to pick up the syntax of another language sufficiently to be productive. I think the more subtle issue is that it takes about two years of resonably consistent work in a language to really become proficient with it.

I use to program in C, but that was more than ten years ago, and I am now so rusty I would be embarased to include it on my resume. None the less, I did program professionally in C for two years. Do I "know C"?

As to the original posters questions, "What is Ruby, and why should I care?", Ruby is an interpreted scripting language (like PHP, Python or Perl). It borrows concepts from many other languages, and is object oriented to the core, unlike many other scripting languages which originated from procedural origins. This allows you do things like assign a number to a variable, and then use methods appropriate to numeric data on that variable:

if you are "more than proeficient" with Java and VC++ how came you are working in PHP again ? If only because Java and C++ programmers are much better paid, and it is still enough to use PHP only in pet projects.
Seems curious that's all.

Off Topic:

I learned Java first & then VC++ & then PHP, I never quite liked VC++ much(you can say I found it a bit boring, besides I like web-programming & VC++ is not originally for it, though it can be used on web as well). As to why I'm using PHP instead of Java etc. well, that's for my boss to decide as to what languages the projects will be deployed in!! I get the salary irrespective of whether I spent whole month coding PHP or VC++ or anything else.

I know VC++ jobs are quite well paying but then, I believe that if you work only for money & not for what you like, then you'll get bored with it pretty soon. You gotta like what you do to keep doing it for long & with ever increasing level of skill. I like web-programming instead of desktop applications, and I love coding in PHP & ASP. I think that should answer your question sufficiently!!

Originally Posted by bonefry

BTW nobody asked what languages you know

Off Topic:

I know. And nobody asked you whether you believed that guy when he said he knows that many languages. Does it answer your statement? I just mentioned them for example, to contradict you when what you said implied that people who know 5-6 languages or more are not real!! Even if you didn't mean to imply that, I got that impression from your post!! I think I've made my point!!

Originally Posted by Skyblaze

I am sure that here, those who state that they know even two or three languages (php included), don't know php at 100%.

Off Topic:

Atleast I've never said that I know any language 100%. I can go on to say that I know it 80% or 85% but never more!! And I've yet to come across someone who says that he know C or C++ 100% or even PHP!!

Atleast I've never said that I know any language 100%. I can go on to say that I know it 80% or 85% but never more!! And I've yet to come across someone who says that he know C or C++ 100% or even PHP!!

well.....if one person says that he knows and programs in php i assume that he knows a good 95% of the language......also beacuse, if then he says that he knows others languages i think that he has finished to study php or he studied all the languages he knows approximatively......like i said.
What i want to say is that if i like web programming (and i work for it) and i know that php is still the best and wide adopted tool to do that, why i have to study a language that is more general and not suited specifically for web programming? I have a tool (php) and i do anything in web programming with it......i like to know it at 100% rather than study other languages that i don't need.

I just mentioned them for example, to contradict you when what you said implied that people who know 5-6 languages or more are not real!!

Oh no, I haven't said that. The reason for me to flame was that I don't like it when people are criticising other languages/platforms (especially the ones I like) without real arguments. So now I would like to apologize to @Etnu and to you @asp_funda if I went out of line.

Originally Posted by asp_funda

I believe that if you work only for money & not for what you like, then you'll get bored with it pretty soon

Yes you are right. I myself got bored about PHP. But I know it enough to say that it's a good platform for what it does. And I also know that Java is pretty exciting when using the right tools and frameworks. That's why I asked.

On the other hand I am really excited about Ruby. The only grief I have with it is that it's a little slow. But hopefully they will release Yarv soon. From the benchmarks it shows potential.

I'm also quite comfortable with Java, Delphi/Pascal, VB / VB.Net, and familiar enough with Python, Ruby, and common lisp to know how to fix problems in code and tie things together

I don't really believe you either. Take Ruby for example, just how much experience with this language have you got? From design to completion, how many applications?

I'd have to agree with what Bonefry has to say about it. No one that I've met knows that many languages, in a consise manner that they've had to use them from one day to the next, at some point in their career.

For all you know, he might be telling the truth, its not impossible.

Maybe not impossible... If he's collecting his pension. That isn't a joke folks, just making an observation, as it'd actually take you decades in the industry to practice in earnest, all those languages.

To make a claim that you know this, that and those over there to me is laughable, but even more shocking, is that prospective employer's enrol their employment based on those claims

So now I would like to apologize to @Etnu and to you @asp_funda if I went out of line.

No need to apologise to me, though you did went on a bit far but then, its all in a day's work, eh!! Infact I didn't read if Etnu was criticising Ruby or not, I know I wasn't, hell, I'm learning it & from what little bit I've learnt, I like it!!

well.....if one person says that he knows and programs in php i assume that he knows a good 95% of the language

well, I think that if you've that approach to thinking, then you wouldn't be a good recruiter!! If you visit PHP forums, you'll find a lot of people with varying degrees of skill(not talking about n00bs). They all know PHP & program in it, but they are on various levels if you judge their fluency & knowledge in PHP. I've been coding & learning PHP for past 1 year(didn't know anything but "Hello World" before that) but I don't think I can go as far as to say that I know 95%. Maybe 85% or 90%, not more than that. There's a lot that I don't know in PHP!!

Originally Posted by Skyblaze

if then he says that he knows others languages i think that he has finished to study php or he studied all the languages he knows approximatively......like i said.

In your school, did you learn just 1 subject at a time? I don't know about you but in my school & college, they taught multiple subjects every day, in different classes!! And amazingly, I was able to learn them all(I did scrape through the exams pretty well)!!

Originally Posted by Skyblaze

What i want to say is that if i like web programming (and i work for it) and i know that php is still the best and wide adopted tool to do that, why i have to study a language that is more general and not suited specifically for web programming?

For the kicks man!! And you must've heard of it before as well, if there's a job for a PHP programmer & 2 candidates are finialised, 1 knows PHP quite well but nothing else, other knows PHP quite well & 2-3 other languages as well, the recruiter will hire the 2nd guy who knows more than 1 language. Sure he'll first look for what he needs(PHP) & other languages are just added bonus. I never say that you gotta be a jack of all trades & specialist of none, infact what I advise is that you should learn as many things you want, there's never a harm in learning a trade or tool or skill, but you should know atleast one of them very very well.

Originally Posted by Skyblaze

I have a tool (php) and i do anything in web programming with it......i like to know it at 100% rather than study other languages that i don't need.

Each to his own preferences, if you like to stick with one stuff, then so be it, don't let others convert you to the dark side!!

Maybe not impossible... If he's collecting his pension. That isn't a joke folks, just making an observation, as it'd actually take you decades in the industry to practice in earnest, all those languages.

well, I don't know about decades, but as a matter of fact, I knew a guy who taught me some advanced stuff with VB6(it did seem advanced to me, maybe not to anyone else). He was proficient with all those languages mentioned except Python & Ruby, and he knew some others as well including C & Perl. But then he had been coding stuff for 12-13 years, so maybe you are right, I dunno!! All I know is that I've not been coding for more than 5 years or so, yet I know more than 3 languages quite well!!

if you like to stick with one stuff, then so be it, don't let others convert you to the dark side!!

it doesn't mean that you have to stick with one stuff.....it means that if you are a web developer and there is a fantastic tool (php but also javascript, xml ecc), than i think it is wise to know it at 100% so you can do anything in that environment
What i mean is that if i am a web developer and i have php i don't need to know also a language to do desktop applications.

it means that if you are a web developer and there is a fantastic tool (php but also javascript, xml ecc), than i think it is wise to know it at 100% so you can do anything in that environment

Keep in mind the learning curve. You'll never get to 100%

It might take you an hour or two to go from 0% to 25% with a language, but going from 90% to 95% might take years. (I think this is the source of the conflict above relating to "how many languages do you know")

So, let's say you know PHP 70%. You've reached a point where if you study as hard as you can you might improve 1% in a week. Meanwhile, going from 0% to 30% in Ruby on Rails may take you an hour or so, and in the process you might learn techniques that you can take back to PHP. Doesn't seem to me like a bad way to spend some time.

You don't have to devote your life to Ruby or Rails instantly, you don't have to stop using PHP, you just pick up a little here and there and see if it catches your interest. If nothing else, that will help you remain certain you've made the right choice with PHP.

Originally Posted by Skyblaze

What i mean is that if i am a web developer and i have php i don't need to know also a language to do desktop applications.

Then consider the possibility of making desktop applications a nice bonus that you never have to utilize if you don't want. With the right tools you can make desktop applications with PHP too, there's another nice bonus for you.

Using your unpaid time to add free content to SitePoint Pty Ltd's portfolio?

Then consider the possibility of making desktop applications a nice bonus that you never have to utilize if you don't want. With the right tools you can make desktop applications with PHP too, there's another nice bonus for you.

PHP has notoriously bad garbage collection. I think this is a definite area where one would want to think about using Ruby in favor of PHP, long running script (daemons) or interactive applications.

Are you trying to claim that Java *is* suitable for every task? Not even the most die-hard Java-ites will make that claim. Businesses like it because you *can* use Java for just about everything, but specialized languages are almost always easier to achieve a particular task with. That's why we create web-specific languages. That's why we create scripting languages. That's why we create embedded languages.

Just simple curiosity. What frameworks are you using in Java ?
What about Perl ?

None, I don't do ground up development in either. I do a lot of integration work, mostly. Most of what I do with Java right now is with Nutch & Lucene, using the php java bridge. Perl I typically get into when dealing with 3rd party scripts like awstats.

That's nice. I never asked you to believe me. There are many, many people who know far more languages than I do (and I'd expect ANYONE who's been programming professionally for at least 7 or 8 years to know a bare minimum of 4 different languages well enough that they could write an entire application in them). Once you achieve any significant level of experience doing software development, you quickly realize that virtually all languages are similiar enough that learning a new one rarely takes more than a month or so.

For the record, here are languages I've written entire applications in:
Pascal / Delphi: This was the first language I learned, going back to when I was about 10.

FoxPro: My first professional programming job required it. I developed a multi-million dollar point of sales system around it.

VB: See above (utility applications).

C/C++: like most people, I learned them around the same time. I've written a level editor which generates maps that can be used in quake and unreal, a terrain simulation, and a first-person shooter that used maps exported from quake.

x86ASM: I wrote the BSP compiler for my map editor almost entirely this way, because it sped up map compilation by a factor of 10.

Java: I've written 2 different games for cell phones in Java, and I've done a lot of work through itmoonlighter.com and the like on java projects, and, like most people my age, the bulk of my university projects were in Java.

PHP: I've been working with it professionally and personally for about 4 years.

I've been programming professionally for about 8 years now. I'd say I learn on average about 1 new language a year "really well". You can make all the silly assumptions about the quality of my work that you like, but I don't get any complaints (and my salary certainly doesn't reflect that either).

That is what you get when you focus on new technologies instead of focusing on alghorithms and design patterns.

You shouldn't ever have to learn an algorithm or pattern more than once. New languages come out every year.

Learning 10 languages will probably make you a good programmer. But you will be far worst in any of the 10 languages that any other programmer that focuses on just 1-2 languages

That's quite possibly the silliest statement I've ever heard about learning languages. If you honestly think there's all that much difference between THE CODE that you write in PHP vs. Java vs. C++, you're out of your mind. You already know how the algorithm works, now you just have to decide what arbitrary function decorators you need to tack on, what symbols to use for math operations, and how to package things together.

Yes, if you mean the syntax. I myself can write the "Hello World" application in aprox 15 languages But does that make me a good programmer ? yeah right

The only thing that makes you a "good programmer" is the applications that you create. Any good programmer can, and should be able to write the exact same program in another language and still have it be just as good.

PS: if you are "more than proeficient" with Java and VC++ how came you are working in PHP again ? If only because Java and C++ programmers are much better paid, and it is still enough to use PHP only in pet projects.
Seems curious that's all.

Because PHP is far better for doing web development than C++ or Java. No ifs, and, or buts about it. It makes a lot of things a WHOLE lot easier. COULD I develop our sites in C++? Of course. But WHY would I do that? For the same reasons, I'd never develop a desktop app with PHP (sorry, phpGTK sucks horribly).

I am sure that here, those who state that they know even two or three languages (php included), don't know php at 100%.

NOBODY knows ANY language "100%" not even Rasmus, Andi, and Zeev know PHP "100%". Bjarne doesn't know C++ "100%". That's why we have pocket references and the like. Anybody who ever claims to know 100% about any language ever created (even if they wrote it themselves) is a liar, or the language is so irrelevant and useless (Brainf*ck anybody)?

I don't really believe you either. Take Ruby for example, just how much experience with this language have you got? From design to completion, how many applications?

Zero. I never claimed that I had, either. I've fixed bugs in and written enhancements for ruby scripts, and I've never seen a Ruby program that I didn't know exactly what it was doing. I don't use Ruby on a day-to-day basis. It's not my language of choice, and my work environment doesn't require it. That doesn't mean that I don't know it, or that I can't write an application in it. I've said it before, and I'll say it again: ANY competent programmer should be able to take a language that he's not at all familiar with and begin writing code in about a month. They should be writing *quality* applications within 3-4 months, and should be able to work professionally with it within 6 months to a year.

That's not to say that everybody is a competent programmer, of course. Quite the opposite, actually. Mediocre programmers are a dime a dozen.

Languages CHANGE. If you can't adapt, you will die (not literally, i'm talking about your career), and you have no business being a software developer in the first place. Whatever language you're using right now will NOT be where the jobs are at in 25 years. Hell, it probably won't even be where the jobs are at in 5 or 10 years.