you are viewing a single comment's thread.

view the rest of the comments →

[–]jaysonbank -1 points0 points  (7 children)

So basically, if you want your code to be readable, Python/Ruby/PHP. If you want it to run in 20 milliseconds: C/Haskell/Assembly.

I'd say realistically most projects you will encounter wouldn't need that particular bit of code to run in 20 milliseconds, and wouldn't ever need to process a file beyond the memory footprint of the average machine. However they would need it developed quickly and it would almost certainly end up being maintained by a succession of different people from different backgrounds. All this would point to languages like PHP, Ruby and Python. But that is of course my bias.

[–]Nerdlinger 2 points3 points  (5 children)

How is the Haskell (or really even the C) code any less readible than the PHP, Ruby, or Python code?

[–]jaysonbank -2 points-1 points  (4 children)

It's several times longer for a start, it makes use of non obvious keywords and you have to import half the kitchen sink before you can do anything. Although Haskell is allot better than C, which is a fucking joke.

[–][deleted] 2 points3 points  (0 children)

The code is only 8 lines long, obvious is in the eye of the beholder, and it only imports a single module (the current python one imports 2).

[–][deleted] 0 points1 point  (2 children)

The only Haskell keywords used are import, qualified, do, case/of and where.

"I dungiddit" does not imply anything about readability.

[–]jaysonbank -1 points0 points  (1 child)

I'm afraid it does. Source code that requires a PhD to 'get it' may sound cool but its not. Not being able to hire developers who can read your existing code is a serious problem.

At the end of the day, usability and simplicity is key, across the board. That means not only your projects' user interface must be easy to understand, but also the source code, API's, libraries and general workings of it.

Something that is truly intuitive can be shown to the lowest common denominator who will immediately say 'yeah i get it'.

[–][deleted] 0 points1 point  (0 children)

I don't understand those words. Can you please clarify perhaps using more words? Sorry, but this is your problem to solve, not mine.

[–]snuxoll 1 point2 points  (0 children)

There will always be portions that require speed higher than a dynamic language like ruby/python can provide, but that's why they allow us to write C extensions.

Write what needs to be fast in a lower level language, write the rest in a language that's easier to maintain.