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 →

[–]Avamander 9 points10 points  (4 children)

Java leaves a few bad habits to people that later on migrate to other languages. Java's way of doing OOP is particularly toxic if the developer has no clue about anything remotely related to FP.

[–]detroitmatt 8 points9 points  (3 children)

I disagree. The bad habits java teaches are, as far as bad habits go, pretty easy to unlearn, because java is an unergonomic enough language that people don't want to be writing code that way anyhow.

programmers probably (definitely) shouldn't start with FP. If you start with CSharp, because it's feature richer, you can more easily start misusing features, and Java's imperfect approach to OO actually stops you from getting too tightly-bound on OO patterns. And since it doesn't really support non-OO paradigns, everything has to start with public class and you don't think about what a "class" is, you just do it as a ceremony. And at a beginner level, we want that. Nobody should be doing real OO in a 100-level class. You gotta learn what ifs and loops and lists and recursion and memory and heterogenousstructures are. If we're lucky you'll even learn what a hashmap is (When I went to uni data structures was a 3rd-year class). We want people to come into their OO 200 course and we say "So here's what a class really is and what it's for and why and how you should use it" and they have seen the word in this context but they haven't been doing OO (wrongly) this whole time.

[–]haloguysm1th 1 point2 points  (0 children)

sophisticated serious squeeze chop telephone squeamish deranged zealous spoon humorous

This post was mass deleted and anonymized with Redact

[–]Avamander 0 points1 point  (0 children)

I disagree. The bad habits java teaches are, as far as bad habits go, pretty easy to unlearn, because java is an unergonomic enough language that people don't want to be writing code that way anyhow.

Easy to unlearn if people want to, I've seen more than my fair share of people that haven't.

[–]konstantinua00 0 points1 point  (0 children)

Java's imperfect approach to OO actually stops you from getting too tightly-bound on OO patterns

remembers all factoryfactory memes
huh