Live data from Hacker News

Programming Languages: What tool is right for which job?

therighttool.hammerprinciple.com

31–40 of 60 posts

Re: Programming Languages: What tool is right for which job?

#31
post #28

Earlier quoted context omitted.

`Highly-parallel network code` was the problem erlang was designed for. Haskell would also be a good fit.

"Erlang was designed to program fault-tolerant systems" according to Joe Armstrong [1]. [1] http://www.infoq.com/presentations/Systems-that-Never-Stop-J...

How do you make a system fault-tolerant? Make it distributed. How do distributed systems work? By communicating via a network.

Re: Programming Languages: What tool is right for which job?

#32
I did what I always do when presented with a list like this - I checked out Visual Basic. The list makes no distinction between BASIC, Visual Basic and VB.NET. That killed any credibility the list might otherwise have had, and after realising that it appears to be more of a "what's hot, what's not" list, I stopped reading. It definitely does not do what the title suggests it does. No value.

Re: Programming Languages: What tool is right for which job?

#33

Even if you are adept in using a highly efficient and effective language for doing each job, if no one else is using the language it's utility becomes limited. That's because none of us work in vacuum. Computers run by different people in separate locations cannot talk to each other unless those people cooperate. They have to agree on some things. And further, we're all using software and systems designed and built i…

You wonder what would happen if we all wrote C++ on Windows? I hope you can answer that question yourself :). But seriously, i think its great that we can all work in our favorite language, and we can get away with it. I can write a web service in common lisp, and you can use it in your Rails cat picture app, that also uses a brainf*ck script to convert the cat pictures in a suitable format. And your company can also…

It's just a thought. A "what if".

I trace the existence of many languages to having no common instruction set in hardware.

Different assembly languages for different hardware. This was very frustrating for people many years ago.

If protocols (rules) are awesome what if we had had a protocol that asked the chip makers to use a common (extendable) instruction set for all hardware? What if there had only been one assembly language?

It seems that all abstractions, from Pascal or Lisp virtual machines to C to higher and higher level languages to the ones popular today, are all descended from the search for a way to deal with that initial lack of protocol (rule) to get hardware makers to use the same instruction set and thereby let programmers use the same assembly language.

I could be very wrong on this.

Re: Programming Languages: What tool is right for which job?

#35

Earlier quoted context omitted.

You wonder what would happen if we all wrote C++ on Windows? I hope you can answer that question yourself :). But seriously, i think its great that we can all work in our favorite language, and we can get away with it. I can write a web service in common lisp, and you can use it in your Rails cat picture app, that also uses a brainf*ck script to convert the cat pictures in a suitable format. And your company can also…

It's just a thought. A "what if". I trace the existence of many languages to having no common instruction set in hardware. Different assembly languages for different hardware. This was very frustrating for people many years ago. If protocols (rules) are awesome what if we had had a protocol that asked the chip makers to use a common (extendable) instruction set for all hardware? What if there had only been one assemb…

> It seems that all abstractions, from Pascal or Lisp virtual machines to C to higher and higher level languages to the ones popular today, are all descended from the search for a way to deal with that initial lack of protocol (rule) to get hardware makers to use the same instruction set and thereby let programmers use the same assembly language.

Maybe I am misunderstanding this.

But Lisp and C derives from very different views of the underlying machine. It is rather hard to unify a lisp machine (or other lambda calculus machine) instruction set with the instruction set assumed by a language like C. Even assuming extensibility of the instruction set, constructing a machine that can execute both the "usual" instruction set and lambda calculus efficiently is very very hard.

So this may not really be practical.

Re: Programming Languages: What tool is right for which job?

#36

Really? Go is on there, but ActionScript is not? I realize that the future of the Flash Platform is in doubt, but Flash is still a great choice for a lot of things, like: - This language is good for beginners. - This language is well documented. - I find this language easy to prototype in.

Why would a beginner want to learn a dying technologlash unless you were writing games, Flash was never the right answer.

I do write games, and Actionscript (3, not 2) is a lovely language.

Re: Programming Languages: What tool is right for which job?

#37
post #12

This isn't the right question to be asking. There are certainly cases where one language at another for a given task, e.g. Ruby is better for string parsing than PHP. But in many (most?) scenarios the technique used for the job matters far more than the language. Sorting is an easy example: bubble sort is a crap solution regardless of the language. Disclaimer: I can't read the actual page due to 503's and the cache i…

The "tool" decisions are usually made at the begining of a project.

In that context, I disagree with your assesment. It often takes me a week, sometimes more, to evaluate and choose the right solutions for a new product. The techniques that I use when coding matter little during that time.

What _does_ matter: third party services and libraries that will make it easier to build a better product.

However, I agree that choice of language is only tangially significant. It's rarely a "pain point" for me. Gui toolkits, cloud services, hosting solutions, payment solutions, libraries for [you name it], etc. _those_ make up the "tool for the job."

Re: Programming Languages: What tool is right for which job?

#38

Earlier quoted context omitted.

It's just a thought. A "what if". I trace the existence of many languages to having no common instruction set in hardware. Different assembly languages for different hardware. This was very frustrating for people many years ago. If protocols (rules) are awesome what if we had had a protocol that asked the chip makers to use a common (extendable) instruction set for all hardware? What if there had only been one assemb…

> It seems that all abstractions, from Pascal or Lisp virtual machines to C to higher and higher level languages to the ones popular today, are all descended from the search for a way to deal with that initial lack of protocol (rule) to get hardware makers to use the same instruction set and thereby let programmers use the same assembly language. Maybe I am misunderstanding this. But Lisp and C derives from very diff…

So with Lisp or even Forth, the proper approach would be to have "Lisp chips" or "Forth chips" (which were recently discussed here)?

Re: Programming Languages: What tool is right for which job?

#39
post #34

How inefficient is Ruby really? This tool surprised me. Can any Ruby-ists chime in? http://therighttool.hammerprinciple.com/statements/programs-...

The interpreter in 1.8 and earlier is definitely pretty sluggish; I believe the 1.9 implementation was intended to be quite a lot faster, and JRuby is pretty fast. No idea about Rubinius or IronRuby or other alternative implementations.

It's definitely the case that stock Ruby 1.8 is slow for a great many applications, though. Having said that, there's alternatives, and a lot of the time efficiency of execution is not at the forefront of the objectives for systems written in Ruby.

Re: Programming Languages: What tool is right for which job?

#40
post #36

Earlier quoted context omitted.

Why would a beginner want to learn a dying technologlash unless you were writing games, Flash was never the right answer.

I do write games, and Actionscript (3, not 2) is a lovely language.

Since I specifically excluded you, what's your point?
Post reply on HN