Live data from Hacker News

How to Pick a Language

web.mac.com

51–60 of 73 posts

Re: How to Pick a Language

#51
post #39
post #15

Earlier quoted context omitted.

Love it or hate it, Javascript: * Is the language having the most important performance gains lately. * Growing support from both corporate (Yahoo, Apple, Google) and free software (Mozilla) camps. * Gains market with HTML 5 (just the canvas element alone makes a huge difference for JS based software.) * Better frameworks for both UI and client-server software. It's funny how things turn.

Yeah, it's strange how only 2 years ago or so, both ruby and javascript scored rock bottom on Alioth Shootout, with javascript scoring 4 times slower than ruby, and ruby 3 times slower than python. Two years later and there's 7 interpreters for ruby and 4 for javascript.

There's something to be said for trying to make an expressive language and worrying about how to make it efficient later. Only working with stuff you know you can do efficiently can lead to getting stuck in local maxima.

Re: How to Pick a Language

#52
post #45
post #44

Earlier quoted context omitted.

"Community" includes turning to the person at the next desk and saying, hey, have you seen this before? Or asking on a mailing list inside your organization. That's why I said "people you know personally or professionally".

Sure, but I'd value a good general hackers opinion over a specific language specialist.

PS I guess it varies between languages, but the wider community lists I'm on (Python, cx_Oracle, Matplotlib-users, Caml-list, a few others) are full of smart and helpful people.

Re: How to Pick a Language

#53

Earlier quoted context omitted.

I think he doesn't like all the upvotes for the snarky anti-PHP comment: You don't really learn PHP so much as catch it. Like a disease. At the risk of being modded down, the comment has some merit. PHP programmers usually gravitate to PHP without having much experience with related, but supposedly better, languages like Ruby, Python, Lua, etc. But PHP programmers who really dig into programming often leave for other…

I know I signed that as my final post, but I feel the need to assure you that I wouldn't be offended by something so silly. Sometimes you just get bored with a place and feel like moving on :^) I think I'll spend less time on sites like these and more playing this fine Buffet clarinet I picked up on Saturday. It's been a while, but my embouchure's returning already.

My misunderstanding. Enjoy the clarinet!

Re: How to Pick a Language

#54
The article is pretty light. I don't think it necessarily does any harm, but I think the article kind of misses the mark if you are someone that is really faced with this issue.

I would argue that picking the language also depends very much on the domain/platform/target you are writing software for. Is it a web application? Is it a desktop GUI app? Is it an RIA -- for web or desktop? Is it a scientific application that needs great math libraries? What are the performance characteristics? Does it need cross-platform support? Is it a distributed business enterprise system? Is it an embedded system? Is it a library? Do you want the library to be able to be used by many different platforms and languages? Does it have to integrate with other systems and what languages are those written in? What about 5 years down the road -- how do you think it will evolve?

Most likely -- answering the question on what the domain/platform/target will be will trim you to a very short-list of options. For example, if you are programming for an embedded system, you may have to use C because that's the only language you'll find compiler support for. Maybe there will be a C++ compiler -- but whether or not you choose it can depend on a lot of factors such as whether your team is comfortable with C++/OO...whether you even want to utilize OO...whether you can afford the additional memory/complexity associated with the features of C++...etc.

Re: How to Pick a Language

#55

i wonder why no one mentions Processing as a learning programming language. Its fun and quite capable of doing interesting things. more info at http://processing.org

Processing (and Wiring) have a pretty specific purpose which extends beyond the focus of the article. Plus it's essentially Javascript.

Re: How to Pick a Language

#56
post #42
post #40

Earlier quoted context omitted.

Maybe you are at the point now that you can implement any application in any language without ever running into problems, writing every library routine you ever need from scratch, porting the compiler/runtime to a new platform if you need to, and you also have complete mastery over your application area, say aeronautical engineering or bioinformatics, able to solve any problem in code without ever speaking to another…

The point is this: If you run into issues, you need to be able to solve them. If the language is well documented, you can use that. If there are tons of books on the language, you can pick up a book. I'd say asking the community is usually a last resort. Ever asked the PHP or Javascript community questions? Most of them have no idea. They'll give you terrible, often incorrect answers. Ever asked the Java community? M…

If there's no community, who wrote the books or improved the documentation? Who publishes a ton of books for a language no one uses?

Re: How to Pick a Language

#57
Hate to be another person to chime in with "What about language X?", but I feel Lua fits decently well in the Javascript category. I would say these are true "scripting" languages, because they are intentionally built for scripting the behavior of an application, and they both have very minimal implementations that support the prototype model for objects.

Re: How to Pick a Language

#58
Fun and relatively comprehensive list, but where is Prolog? Admittedly it is not often practical, but when it is, it make some problem-domains so much easier to grasp.

Re: How to Pick a Language

#59

Pick ruby if: you want to program on the web. I prefer python as a language, but rails has two things no other web-framework has, IMHO - A culture of TDD ( http://news.ycombinator.com/item?id=445627 ), and the easiest way to do simple AJAX out of the box with rjs ( http://api.rubyonrails.org/classes/ActionView/Helpers/Protot... ) Just not worrying about string escaping is huge.

The first link points to a comment about being productive while riding Caltrain...

Isn't that what Train Driven Development means?

Re: How to Pick a Language

#60

i wonder why no one mentions Processing as a learning programming language. Its fun and quite capable of doing interesting things. more info at http://processing.org

Maybe another good "Ask HN" topic would be: "How would I 'bridge the gap' from programming computers to programming other physical devices?"

Wiring certainly looks like a cool language that goes in that direction.

Post reply on HN