6 ms·
Best Programming Language for Startups
- edw519 17y agoBy definition you are trying to solve something where both the problem and the solution unknown so you don’t know what you need. And what definition would that be? Could someone please enlighten me because I have no idea where this comes from. If the problem is unknown, then what are you working on? If the solution is unknown, then figure it out (at least conceptually) before you start coding. Am I missing something? This makes no sense to me.
- gwern 17y agoThen that's your problem, if you can't understand it. A man is unhappy: he knows not why he is unhappy, what problem he has, nor how to solve it. Is it nonsense to say he is unhappy? A species is wandering around configuration-space; it knows not what the current fitness function is, nor what mutations would solve it best. Is it nonsense to say that the species will do better or worse?
- daniel-cussen 17y agoWhat do you use?
- swombat 17y agoI wasn't so sure, until I reached the end: Finally, if you still don’t know what language to pick, choose Ruby on Rails because it is the best. If you don’t agree, get ready for a public stoning. Clearly, some very sound thinking! I like this guy already! More seriously, the article is spot on. I have one caveat though: don't settle for what you know if you really want to know something else. For example, if you've been doing PHP programming for years, and know it really well, but are really keen to learn Python and Django, give it a try! My advice would be to try the new language/framework for 2 weeks. It sounds long, but actually 2 weeks is almost nothing. After those two weeks you might go back to your previous language, satisfied that you know it's the right choice since you've tried the grass on the other side and it didn't taste any better. Or perhaps you'll switch to the new language, safe in the knowledge that yes, it is a lot better and you can probably do a better job in this new language.
- deleted 17y ago[deleted]
- terrellm 17y agoI definitely agree with the 2 week challenge. I developed in ASP.Net on Windows for years but got tired of having to code in Windows and do everything else in OSX. I picked up a copy of Agile Web Development with Rails and gave myself a "2 week challenge". It's been a few months and I haven't looked back. I can't imagine going back to .NET.
- jamesbritt 17y ago"Clearly, some very sound thinking! I like this guy already!" Because Rails is a programming language?
- compay 17y agoBecause of sarcasm.
- jamesbritt 17y agoIt is impossible to determine if any favorable comment about Rails is sarcasm.
- natmaster 17y agoAlthough if you're looking to get something done, learning a new language isn't going to help in the short term, there is such thing as a better language. PHP sucks. As a language, it's hackish, and not really designed at all. So unless you need to integrate with existing tools, it would probably be best to stay away from a language that will attract meto developers. For more evidence: http://www.google.com/search?q=php+sucks&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a http://www.google.com/search?q=php+sucks&ie=utf-8&oe...
- idlewords 17y agoThe reason there are a ton of "php sucks" posts is that tons of people use PHP. The reason tons of people use PHP is that sometimes it's the best tool for the job. Engaging in 'language X sucks' debate is a waste of time better spent designing an innovative product.
- aaronblohowiak 17y agoAs Bjarne has said: "There are two types of languages, those people complain about, and those that nobody uses."
- gwern 17y agoAt last! I finally understand why everyone complains about IIS's security holes, and not Apache's - it's because no one uses Apache.
- Daishiman 17y agoYeah, because VB6 is so much better than Python or C#. Strangely I have yet to see many complaints about C# or Java in relation to C++ or VB6, yet I'm sure as many if not more poeple have used VB6 and C++. Some languages allow you to shoot yourself in the foot more easily. Some have just better conventions and toolsets. VB6's object model just plain sucks in comparison to C#. C++ bugs are much harder to catch than Java's, and Java gives you a better toolset to find them (not that I'm a Java fan, I acutally dislike the language quite a bit). Bjarne's phrase is pretty cute. But let's be honest, technical merit has never been in a factor in a large majority of business decisions. If that were so people would drop the horrible abortion that's ABAP or COBOL for SAP applications, Sun would drop Telnet as a default dameon and use a better shell than sh as a default. But hey, it's the most popular commercial Unix, right?
- natmaster 17y agoIn the end, a programming language is a tool to get things done. And while many tools are designed to solve different problems. Some tools http://www.flickr.com/photos/kjmeow/3078861757/ http://www.flickr.com/photos/kjmeow/3078861757/ ARE just better than others http://www.flickr.com/photos/salyangoz/3466877208/ http://www.flickr.com/photos/salyangoz/3466877208/ for getting the job done.
- toddmck 17y agoI'm thoroughly amused that the first tool link is a picture of someone using a hammer to pound on a screw. The photographer even says in the flickr comments that he's thinking about titling the picture "What happen when you use a wrong tool...". This in no way diminishes your point, which I think is quite valid. I just found myself laughing out loud so it seemed worth sharing.
- clutchski 17y ago"Finally, if you still don’t know what language to pick, choose Ruby on Rails because it is the best" um. ruby on rails != language.
- raganwald 17y agoROR is absolutely a language. A language built on top of Ruby, of course, but a language.
- deleted 17y ago[deleted]
- tomjen2 17y agoNo, not really but given the amount of meta programming DDH made to make ROR possible, I am not so sure.
- megaduck 17y agoI'd argue that Rails' use of DSLs and metaprogramming makes it materially different from straight ruby. It gets even more confusing with lisp where your libraries are, by definition, language extensions. Often with completely custom syntax. It's kind of an irrelevant distinction anyways. People don't really pick "languages", per se. They usually pick "language + libraries", and the line between third-party libraries and standard libraries is getting increasingly blurred.
- aaronblohowiak 17y agoThey do pick the initial "technology stack", a term which concisely encapsulates both the distinction and interconnection of the parts.
- clutchski 17y agosure. just wanted to note the author's belief that rails is a language undermines his credibility.
- bradfordw 17y agoI like Ruby and Rails for that matter, or rather where Rails 3 is headed. But this has flame bait written all over it. It's a matter of choosing the right tool for the job, plain and simple.
- raganwald 17y agoIt's a matter of choosing choosing the right tool for the job, plain and simple I have a lot of trouble with this statement. It is a tautology, it is necessarily true. Now that we both agree, what is the best tool for the job and how do we choose it? The OP gives the author's perspective. If you don't agree, perhaps you could share yours.
- sofal 17y agoThere seem to be a lot of people who think that arguments about what language to use are 100% fluff and that they can all be neatly settled by the cute "right tool for the job" platitude. The truth is that sometimes we're just not sure what the right tool for the job is and we might do ourselves a favor by being open to different arguments for different tools.
- fpgeek 17y agoIf you're truly committed to "the right tool for the job" be prepared to become a polyglot programmer. We use 5 (or 6, depending on how you count) different programming languages regularly at my startup and for strong business and technical reasons each of them is "the right tool for the job". We also have some other languages squirreled away in odd corners. In those cases, the languages tend to be "good enough" tools for their jobs (so there's no sensible reason to change something that is already working).
- mechanical_fish 17y agoI'm beginning to fear that HTML5 really needs to have a spec for the SATIRE tag.
- fjabre 17y agoI'm not big on Rails.. but this list is somewhat impressive: http://rails100.pbworks.com/Alexa+Rankings http://rails100.pbworks.com/Alexa+Rankings
- jksmith 17y agoOf course he forgot to mention what is currently the trendiest language to use, which is the one I'm writing. I haven't had this much fun with a computer since dos days.
- hyperbovine 17y agoYou're a startup. You have neither the time nor money to do it all yourself, and if you're not first to market it's curtains. The best language for your startup is the one that has the most people kicking out free, modular code that you can pull off the shelf and use. This would seem to be Ruby for the time being, but the main point is you need to pick up the fad du jour and run with it.