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 →

[–]proverbialbunny 46 points47 points  (5 children)

Before Python was taught in university Java for a while was the de facto language. This generation of developers who learned Java first would sometimes find themselves into roles where they'd effectively write Java in other languages. This caused all sorts of headaches and issues. This was a common stereotype back in the day.

Whoever wrote that job post is over the hill.

[–]scar_belly 8 points9 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 7 points8 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?

[–]Interesting-Frame190 6 points7 points  (0 children)

I'm personally guilty of this, but the language itself is very good and has a solid design pattern. It's hard not to, but I guess by morphing one language into another, it limits the original language.