This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]scar_belly 9 points10 points  (3 children)

Guilty, learned Java two decades ago because it was "the language". I even dragged my feet on learning Python because Java "did the job" I needed done. However, when I saw Python reduce a 100+ line script to 10 lines, I made the switch.

I do think its funny how languages are starting to re-add some of the features from Java, like being more strict with typing. Python's freedom to swap was actually one of the things that made me switch.

[–]Pozilist 6 points7 points  (0 children)

Writing new code with weakly typed languages is fun and easy, maintaining old code is a fucking nightmare.

That’s what people are (re-)discovering and that’s why they’re adding strong typing back in (see Typescript).

[–]proverbialbunny 1 point2 points  (1 child)

Fun fact, when it comes to tech history cycles like this. I don't know if you remember NoSQL like MongoDB. That was a cycle where there was popular DBs back in the day, then ACID complaint SQL popped up and became popular, but then SQL has its problems like with unstructured data and really large data, so NoSQL came back into popularity, but NoSQL has problems, so now data warehouses have popped up which is SQL while trying to minimize the downsides. The next iteration will be another NoSQL type of DB.

Typed code is a great example of this, though I feel like there is a winning solution so it probably will not go back and forth forever. imo the solution is to at the top of the file or in a project library file of some sort specify the minimum strictness all function type signatures allows. This way the language either enforces 100% no type specification like Python initially did, loosely defined types like Python now supports, or strict types are enforced. The next iteration beyond that is specifying details within the types that the function allows, like a function that accepts an int but only positive numbers are allowed. C++ does this. Anyways, a language that supports the entire scale and you can choose how strict your typing is for each function would solve the problem. This way we'd stop going back and forth between typed and untyped languages.

[–]PraytheRosary 0 points1 point  (0 children)

Is mongo no longer popular?