top | item 29700623

(no title)

zerocount | 4 years ago

I'm not convinced scripting languages are not suitable for large projects. It's said a lot, but I've never seen proof one way or the other. I suspect unmanageable code-bases derive from uncontrollable project forces, ignorance, or not caring, but not because of the perceived short comings of a scripting language.

discuss

order

strenholme|4 years ago

Indeed. Unmanageable code bases come from conversations like this between management and developers:

“Look, we need you to implement this feature within the next 24 hours.”

“Based on my scrum analysis, I need about a week to implement it.”

“Sorry, if it’s not done within the next 24 hours, you will be out of a job.”

“OK....”

At which point, we get a hideous rush job. I have seen this happen time and time again. There is no language in the world which isn’t going to be able to force clean, manageable code under these kinds of circumstances, which alas can and do happen too often in the caffeine and work obsessed tech culture.

crispyalmond|4 years ago

I recently started working at a place which is like this, and the code really shows it. It really does not matter what language is used, it's not going to very maintainable if written so quickly.

cies|4 years ago

Have you coded with Haskell or Elm? Im confident that re-factoring that mess that surely comes out of the 24h sprint will be re-factorable without too much pain in these languages.

Just a feeling, but coding with them feels like they are refactor-optimized langs.

DoctorDabadedoo|4 years ago

It's a trade off, I think. A compiled static language forces you to behave a certain way at the expense of flexibility/expressiveness, script languages are more flexible, but in a way that is easier to acquire technical debt that might be harder to move away from (IMO).

Hendrikto|4 years ago

People do not seems to have any trouble producing unreadable and unmaintainable code in statically-typed compiled languages.

agumonkey|4 years ago

I'm sure with time, the dynlang prototype phase -> static in production will be the norm.

Gradual typing has been improving (might not be the only way but still)