News for hackers. Stuff that matters.
Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @02:58AM (#29137383)
Completely disagree.

> full teams can and have built huge java projects just by using the intellij project wizard and maybe a tiny bit of Gradle from stack overflow.

I would not ever want to work with anyone from those types of teams. They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

> But this is stuff that should come in later classes, particularly for students who are interested in those details. Not everyone needs to know it.

Yes, they do. They absolutely do. There seems to be this mindset that's starting to infect software development that pushes the idea that people can be good at programming computers without actually knowing anything about how those computers work. I just do not understand how anyone could seriously believe that. My experience over the past 20+ years tells me that people who avoid learning about these topics are generally just not good at their jobs, or at best can do a decent job of things, but then completely freeze when they encounter something outside of their narrow comfort zone.

> In fact my experience is that some colleges have the exact opposite problem: they teach students old tools and techniques

That's lame, but has nothing to do with the point you're trying to make.

Re:Stop Making Students Use Eclipse (2020) by simonh on Sunday November 07, 2021 @06:07AM (#29138336)
You only like to work with experienced engineers, who are already experienced with the specific tooling you use on your projects fine.

Students by definition are not experienced engineers. They’re in a given class to learn the topic for that class, and hopefully that class with be a challenging program of learning. In CS often the fact they’re even working in Java is incidental, they’re not even there to learn Java, but generalisable CS concepts.

I’ve got no problem teaching students practical software engineering skills, sure, that can be very valuable. It should be on a course on that topic though.

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:32PM (#29141493)
> You only like to work with experienced engineers, who are already experienced with the specific tooling you use on your projects fine.

That's not what I said at all. Inexperienced in general is fine. I benefited from mentorship earlier in my career, and I'm happy to pay it forward.

Inexperienced with my specific tooling is a weird point to make, because it directly contradicts my point. If you teach people how things work: the underlying computer, OS, system libraries, and teach people the nuts and bolts of how to do their jobs: version control, the command line, filesystems, etc., then I especially don't care if they've used my specific tooling before, because they probably have enough foundational and background knowledge to be able to pick up different tooling and languages without too much trouble.

The people who are just taught to open an IDE, click "new project", and never leave the IDE, are the kinds of people that I expect will have trouble if they join my team and we're using different tooling than they're used to.

Re:Stop Making Students Use Eclipse (2020) by BizarroLand on Wednesday November 10, 2021 @08:24PM (#29183353)
It's always felt to me like, "Oh you want to learn to cook? Great!" This is a pickaxe. I want you to mine some iron slag out of this vein.

"What does this have to do with cooking?"

"Well, you want to use a knife to cut your vegetables don't you? How on earth do you expect to get a knife to cut your vegetables if you don't mine for iron slag, refine it, build a forge, learn blacksmithing, make thousands of inferior and useless knives until by trial and error you finally have a knife you can cut vegetables with!"

"Ok, so once that is done then I can be a cook, right?"

"What? are you a fucking moron? Look at this asshole who thinks he can be a chef if he knows how to make a knife! What an idiot! You need a pot and a pan and a kitchen, but to get a kitchen you need a house and to get a house you have to buy the land and then to get the food you have to learn agriculture and animal husbandry, woodworking, stone-masonry, how to quarry, political intrigue, bartering, build a working economy you and 7 other people can all agree on using..."

It isn't that difficult. All I really needed was a problem and a line on the tools I needed to solve them. All the other stuff may make me competent should I need to rebuild the world's technology stack from the ground up a.k.a Dr. Stone but it never earned me a dime of income of served the most basic of purposes in attempting to dissuade me from a computer career.

Re:Stop Making Students Use Eclipse (2020) by karma_fountain on Sunday November 07, 2021 @09:14AM (#29139572)
I agree and also feel like Students new to computer programming shouldn't be using Eclipse. They should be learning the fundamental concepts and their implementation, and having to learn a whole very complex IDE as well would just add to that difficulty.
Re:Stop Making Students Use Eclipse (2020) by J-Kuhn on Sunday November 07, 2021 @10:21AM (#29140156)
What fundamental concepts?

if, while, and other programming concepts? I'd agree on that.

But the article suggests learning about files, file formats and other low level stuff.

So maybe they should first learn how a filesystem works, how it keeps internal consistency, and how the bytes are mapped into some physical storage. That's pretty fundamental too, right?

What we have here are "leaky abstractions"[1]. If the abstraction an IDE provides is not good enough that students can work with it without knowing about the lower layer, then the abstraction is leaky. And that is the problem. Not "should I teach them with an IDE or without".

[1]: https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...

Re:Stop Making Students Use Eclipse (2020) by Jensson on Monday November 08, 2021 @04:44AM (#29147622)
> What we have here are "leaky abstractions"[1]. If the abstraction an IDE provides is not good enough that students can work with it without knowing about the lower layer, then the abstraction is leaky.

Do you suggest teachers fix Eclipse so it no longer has leaky abstractions rather than just teach students how to work in a modern file system?

Re:Stop Making Students Use Eclipse (2020) by epinephrinios on Tuesday November 09, 2021 @06:58PM (#29169225)
I agree with you. For example, in an algorithms class they need to focus on the right things such as O() and not on the Java compiler or the Python interpreter or even worse (god forbid) on gcc.
Re:Stop Making Students Use Eclipse (2020) by Sankozi on Sunday November 07, 2021 @03:59AM (#29137643)
>> full teams can and have built huge java projects just by using the intellij project wizard and maybe a tiny bit of Gradle from stack overflow.

> They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

How does one follow the other? How does not learninging unnecessary skills hinders ability to solve new problems? If skill is really needed later one person from the team can learn it and share most important bits of knowledge. If skill is not needed now why learn it? YAGNI can also be applied when learning things.

I find that not understanding how compilers works or how to use them in low level tasks is minor problem when developing. I never met developer who had problem like that. Much bigger problem during developing is not listening to and understanding your users and IDE will not help you with that. This is much better skill to learn than compiler CLI.

Re:Stop Making Students Use Eclipse (2020) by cute_boi on Sunday November 07, 2021 @04:20AM (#29137758)
"How does not learninging unnecessary skills hinders ability to solve new problems?"

I disagree here. Life is not so easy that you can ignore many problems. If you don't know certain skills you don't know the best way to solve it and it can lead to various problem.

Its like saying why learn chemistry, advance math, physics in high school when you might not even use them other than few simple formula and if you need them just learn it from team. I don't think this is how real world works.

Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @04:57AM (#29137948)
> Its like saying why learn chemistry, advance math, physics in high school when you might not even use them other than few simple formula and if you need them just learn it from team. I don't think this is how real world works.

the point of learning all that in high school is not to learn about these things specifically, just to teach you how to learn things fast so that you can easily learn what's useful when you work.

No one cares about what you learned in chemistry class at 15 y.o, it's all approximations if not outright wrong stuff sometimes and it does not matter in the slightest.

Re:Stop Making Students Use Eclipse (2020) by kaba0 on Sunday November 07, 2021 @06:59AM (#29138706)
Hard disagree. While indeed atomic models taught in school are way too simplistic, it’s a much better world view to vaguely remember than not knowing anything about molecules/atoms. The same for biology, and we should indeed push for somewhat stronger education in most countries (as is apparent from stupid antivaxxers), as having at least the correct mindset on scientific things is exceedingly important.
Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @02:14PM (#29142499)
The correct mindset to "not be an antivaxxer" definitely does not correlate with raw knowledge. Proper philosophy and logical reasoning classes are infinitely more efficient for that, though a bit more background in statistics and probabilities would also likely help as it seems that a lot of people struggle with that.
Re:Stop Making Students Use Eclipse (2020) by kaba0 on Sunday November 07, 2021 @06:56AM (#29138683)
A great rule of thumb I’ve read on HN is that a great developer is one who understands at least one layer of abstraction below where he/she works (but 2 is better). That doesn’t compiler intrinsics if you are programming in high level languages, but it does include in my opinion the general tooling of the language, its way of execution, etc.
Re:Stop Making Students Use Eclipse (2020) by vishnugupta on Sunday November 07, 2021 @07:25AM (#29138858)
I call it n-1 rule and IMO it can be generalized to any creative/craft profession.

A great driver understands how engines work. A great wood carpenter understands about different kinds of Timbers and their properties.

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:34PM (#29141531)
> YAGNI can also be applied when learning things.

I don't think that's true. I think learning things that are related to your work will almost always make you better at your work, even if you don't use that specific knowledge directly. Human brains are big pattern matching machines, and the more data you can feed it, the better it will be at looking at problems and truly understanding them.

> I find that not understanding how compilers works or how to use them in low level tasks is minor problem when developing.

I'm not saying that you need to understand enough to build your own toy compiler (though that can also be very useful in understanding how to write better programs). But at least understanding it from a basic level, like "javac takes in my source code, turns it into some kind of machine-readable intermediate representation, does optimizations, and outputs bytecode" is something that I expect every Java programmer to know.

Re:Stop Making Students Use Eclipse (2020) by brtkdotse on Sunday November 07, 2021 @03:52AM (#29137613)
> They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

The vast, VAST majority of programming is of the type OP described. It ugly and has warts, but is good enough to deliver business value. I’ve seen it first hand.

The truth is that developers working on projects like that outnumber everyone else probably 10-1. See https://www.hanselman.com/blog/dark-matter-developers-the-un...

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:39PM (#29141587)
While that may be true, programmers working on these types of projects will end up being better at doing them (they will build it faster, write fewer bugs, and have an easier time fixing the bugs they do write) if they understand more about computers, operating systems, and the tooling around their chosen language and IDE.

Sure, maybe they can still get things done without that knowledge, and it'll work, but that's not really the point.

Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @03:40AM (#29137549)
> I would not ever want to work with anyone from those types of teams. They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

Okay but what matters is not who you want or do not want to work with, but "can it make a business that works". That's the only metric.

The first job I was in the owner did "code" pretty much everything on a visual programming language (Max/MSP). Was it pretty ? No. Did it allow him to start a business and sell things ? Definitely, and that's the only thing that matters

Re:Stop Making Students Use Eclipse (2020) by jiggawatts on Sunday November 07, 2021 @03:44AM (#29137573)
"The only thing that matters"

With this myopic attitude you'll get your business up and off the ground fast. Good job.

Then you will be mercilessly hacked.

Once you rename your startup to avoid the negative publicity, you'll hit a performance wall.

You'll lose customer data (and the associated customers) while you try to figure out what the four letters in ACID actually mean.

AWS will take 80% of your profits.

A different company will have taken their time, done it properly, and eat your lunch. They'll take the customers that lost data, as well as the customers that couldn't stand your slow-ass website.

Then they will mercilessly undercut you, because they're not scaling to infinity to compensate for an O(n^3) algorithm being used to scan database tables in their entirety by Mr I Know How to Bang Out Code.

Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @03:52AM (#29137612)
You live in a parallel universe. Hacked ? So what ? Equifax got hacked too. Its valuation is literally up 150% since then lol. People make more money selling wordpress themes than I do selling low-latency C++.
Re:Stop Making Students Use Eclipse (2020) by adriancr on Sunday November 07, 2021 @04:05AM (#29137667)
Equifax is a monopoly. Run-of-the-mill companies will lose contracts and money when their infrastructure goes down or some crypto miner explodes their aws bill.

Optimizing is a different item, it reduces costs... More profit, better costs for customers, potentially undercut other companies with prices that are not feasible / offer more features.

Re:Stop Making Students Use Eclipse (2020) by wiz21c on Sunday November 07, 2021 @04:09AM (#29137695)
o(n^3) bugs happen, sure, once every two year. So the 99.99% rest of the time, wondering about it is useless... Just as much as nitpicking over which version of Eclipse or gradle or whatever to use. In the grand scheme of software projects, these are not super relevant. Making code robust to crazy unexpected inputs is much more important. Making code that is easy to read (that is, readable without knowing tons of frameworks or technical details) is much more important.. At least in business computing.

Now they are niche when these issues do matter...

Re:Stop Making Students Use Eclipse (2020) by 2muchcoffeeman on Sunday November 07, 2021 @07:08AM (#29138763)
Both POV are myopic.

One wants to get things done to the exclusion of all else. Possibly trapping you into a corner if you need to ever scale.

And the other wants to “do it the right way from day one“. An undertaking that would cost more than a small business could ever hope to afford or slowing you down giving rivals time to catch up.

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:46PM (#29141655)
I don't really get why you seem to believe there are just two extremes and that's it. I don't think "do it right from day one" means that you never accumulate technical debt or that you write the perfect architecture that anticipates every possible future need.

Doing it right, to me, means hiring people who can adapt to changing conditions and needs, and who can make (or help you make) the right trade offs when you have to balance faster time-to-market (which can involve cutting corners) against avoiding technical debt.

The team that lives inside IntelliJ and can't do anything outside it is not going to do that for you.

Re:Stop Making Students Use Eclipse (2020) by 2muchcoffeeman on Sunday November 07, 2021 @06:18PM (#29144548)
>I don't really get why you seem to believe there are just two extremes and that's it.

Well, we’re only discussing a specific dimension of software development here. In reality there are a whole bunch of things not even related to software that will cause problems.

Re:Stop Making Students Use Eclipse (2020) by zozbot234 on Sunday November 07, 2021 @03:46AM (#29137580)
It's not about being pretty, it's about understanding when you're incurring lots of technical debt that's going to bite you in the ass down the road. There's nothing wrong with implementing a complex system in the likes of Max/MSP necessarily but it should be a reasoned decision, not something you do reflexively because you just don't know any better.
Re:Stop Making Students Use Eclipse (2020) by justin_oaks on Sunday November 07, 2021 @06:36AM (#29138556)
Indeed. I had a boss who didn't "know any better" about a lot of things, so he often could only think of one solution to any problem.

My thought when people only have one solution to a problem: If you can only think of one solution, how do you know it's not the worst one?

Re:Stop Making Students Use Eclipse (2020) by cerved on Sunday November 07, 2021 @03:51AM (#29137607)
There are millions of business that "work" but that doesn't mean they are places I want to work. Personally I put the bar higher than "I'll just use the magic wizard and hope it works" and I'd prefer working with similar minded people
Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @03:53AM (#29137618)
But it isn't the job of the university to create people you want to work with ?
Re:Stop Making Students Use Eclipse (2020) by cerved on Sunday November 07, 2021 @05:24AM (#29138084)
My preference is to work with teams of people that strive for something else than "I'll just use the magic wizard and hope it works." Others can have other preferences.

I don't have an opinion where these people develop these attitudes/skills

Re:Stop Making Students Use Eclipse (2020) by Dudeman112 on Sunday November 07, 2021 @11:03AM (#29140542)
No, unless it's a "professionalization degree" or whatever you call it on your corner of the world.
Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @02:22PM (#29142552)
That's the huge majority of all degrees in university ? In my country, from the figures I can find online, there are ~20k "pro" masters vs a few hundred "research" ones. It's entirely negligible (I know it firsthand having been through the research path, which was a single-digit percent of the students in the "pro" path)
Re:Stop Making Students Use Eclipse (2020) by xvector on Sunday November 07, 2021 @04:11AM (#29137704)
It actually is, because why would I pass them during an interview if I don't want to work with them? Thus, the students will be locked out of good jobs - and it's the university's job to give the student the necessary skills to find a good job.
Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:43PM (#29141625)
Maybe "can it make a business that works" is the only thing that matters to you, but it's not to me. If I have to spend my days dealing with developers who can't think outside of a tiny box, I will be miserable. I don't care how much money the business makes; that's not how I want to live my life.

And what happens after you get that business running and bringing in some revenue, but you need to start tackling harder problems in order to keep your current customers happy and attract new customers? You're stuck with a bunch of developers poorly suited to solving those problems, and a bunch of infrastructure that wasn't designed with this sort of feature expansion in mind.

So you hire some new people who have to rewrite a bunch of things, or who have to spend months or quarters untangling the mess. You could even miss your market opportunity. Even if you don't, you've still wasted a lot of time and money.

Re:Stop Making Students Use Eclipse (2020) by jcelerier on Sunday November 07, 2021 @02:18PM (#29142531)
> Maybe "can it make a business that works" is the only thing that matters to you, but it's not to me.

What I want doesn't matter any more than what you want regarding this. What matters is what the society as a whole wants, and the current situation is in big part the manifestation of it.

> And what happens after you get that business running and bringing in some revenue, but you need to start tackling harder problems in order to keep your current customers happy and attract new customers? You're stuck with a bunch of developers poorly suited to solving those problems, and a bunch of infrastructure that wasn't designed with this sort of feature expansion in mind.

you're assuming that you would even have gotten the first customers if things were "done right". My experience seeing entire businesses held by 1kloc of "academic" (I'm not saying this as a compliment) python scripts with 20% of it being globals succeeding says otherwise.

Re:Stop Making Students Use Eclipse (2020) by the_gipsy on Sunday November 07, 2021 @05:57AM (#29138267)
> "can it make a business that works"

For how long? Until it needs a rewrite because it’s completely unmanageable. Yes I know, the rewrite cycle is part of the business now, but I don’t think it’s necessary. We can do better.

Re:Stop Making Students Use Eclipse (2020) by einpoklum on Sunday November 07, 2021 @07:24AM (#29138848)
> > In fact my experience is that some colleges have the exact opposite problem: they teach students old tools and techniques > > That's lame

It's not lame, it's fine. It is just fine, and usually better, to teach basic concepts using a simple tool - even if it is not fashionable or up-to-date.

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:51PM (#29141698)
I think the parent's point was that some people teach using old tools that no one uses anymore, while teaching with the current-generation tools would be just as easy to teach, but would be much more useful.

Agree that teaching old techniques can be useful in the cases where the current techniques build on what came before.

Re:Stop Making Students Use Eclipse (2020) by JeremyNT on Sunday November 07, 2021 @08:46AM (#29139394)
This article is in the context of computer science education, though - not real world programming.

Undergrad CS students aren't learning software development first and foremost. They're learning logic and math, data structures and algorithms. They need a low friction environment so they can learn the academic stuff without wasting their (or their TA's) time.

So while I agree that many "real world" programming jobs require dealing with the kind of boring minutia that IDEs try to abstract, this stuff shouldn't necessarily be a prerequisite for students on a CS track. There's plenty of time for the real world later :)

Re:Stop Making Students Use Eclipse (2020) by duckmysick on Sunday November 07, 2021 @04:57AM (#29137945)
> They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

Interesting. In other fields, like surgery, narrow specialization is desirable.

Re:Stop Making Students Use Eclipse (2020) by andrew_eit on Sunday November 07, 2021 @05:05AM (#29137988)
A surgeon is still a doctor who spent years studying medicine though.
Re:Stop Making Students Use Eclipse (2020) by rowanG077 on Sunday November 07, 2021 @05:19AM (#29138057)
You generally specialize after you have learned the basics. All oncologists are doctors, all architects that design very large buildings are capable of designing houses etc. It's seems obvious that the basics for a developer includes how a machine works.
Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:50PM (#29141683)
A surgeon still spent many years studying medicine at a broad level before moving into training for that specialty, though.

And many developers I know do end up specializing in particular sub-fields (ML, databases, whatever), but they already have a wide breadth of knowledge and experience to serve as a foundation underneath that. In contrast, I also know some developers who didn't take that route, and jumped into specialization early, and who are completely useless at productionizing their work.

Re:Stop Making Students Use Eclipse (2020) by tomohawk on Sunday November 07, 2021 @07:37AM (#29138939)
Very much agree.

IDEs can be great, but in the hands of someone just learning they encourage a cargo cult style that becomes a barrier to actually knowing what you're doing. I've had to work with people who are still stuck cargo culting thing 15+ years into their careers. Not fun.

Relatedly, they can also assist people who to get just enough success (in the cargo cult sense) to get a degree, when they would be much better off in a different field. It does them (and their future team mates) a disservice.

Re:Stop Making Students Use Eclipse (2020) by _pmf_ on Sunday November 07, 2021 @04:10AM (#29137703)
> I would not ever want to work with anyone from those types of teams. They are the kind of programmers who have a very narrow range of abilities, and whenever they see a problem outside those abilities, they get completely lost.

The thing is, they are the ones least likely to cause difficult to debug build issues due to "very clever" features and using the latest version features of build tools in the first place.

Re:Stop Making Students Use Eclipse (2020) by kelnos on Sunday November 07, 2021 @12:53PM (#29141718)
They're also the kinds of people who will use the same version of their tools long after they've stopped being supported, and then when you need one of those new features, or run into a problem that you can't work around, you have to drag all that stuff into the present, which is always a huge pain in the ass. And the kind of developers who got you in that situation in the first place will be the least well-suited to help get you out.

Regardless, I don't think "I don't want knowledgeable people because they might write something 'too clever' that causes problems in the future" is a particularly winning strategy. You're basically saying you want dumb people because they will never try to be too smart for their own good.

Re:Stop Making Students Use Eclipse (2020) by jdbernard on Sunday November 07, 2021 @06:00AM (#29138291)
They are absolutely the ones to create hard-to-debug issues because they layered a whole bunch of complex things incorrectly or unknowingly.

For example, recently I spent more time than I'd like finding out that we linked two incompatible versions of a library. All the visible dependencies were correct, but at some point someone bundled an old version in a fat jar and that got included transitively via another dependency. If you understand the details you know why you don't distribute libraries as fat jars. But if you're just following some guide it's easier to fat jar it than correctly specify your dependency tree.

If your education was really effective you recognize this is just the static/dynamic linking problem again in new clothes.

Re:Stop Making Students Use Eclipse (2020) by marcellus23 on Sunday November 07, 2021 @07:22AM (#29138840)
It’s true that clever code can only be written by knowledgeable engineers, but that doesn’t mean that knowledgeable engineers all write clever code.
Re:Stop Making Students Use Eclipse (2020) by Rd6n6 on Sunday November 07, 2021 @11:15AM (#29140666)
When I learned programming with eclipse years ago I spent so much time worrying about the magic behind the scenes that it left me with no confidence in my programming. When I finally learned to write my own make files and compile on my own, I went back to using ides and like them, but you shouldn’t learn with them
Re:Stop Making Students Use Eclipse (2020) by Ekaros on Monday November 08, 2021 @02:03AM (#29146702)
So should we teach the students how to write make files before we allow them to write first line of code?