5 ms·
I can't help but feel like this article is less a condemnation of IDEs in introductory teaching and more a condemnation of java in introductory teaching. It fe
by jcrawfordor 7y ago
I can't help but feel like this article is less a condemnation of IDEs in introductory teaching and more a condemnation of java in introductory teaching.
It feels like the use of Eclipse or IntelliJ in intro CS courses is so common in large part because Java has such relatively complex tooling and language conventions. I've never seen someone intro Python with an IDE, because it's extremely easy to use Python without one. The same goes for C, and indeed all of the intro C classes I've seen have gone without an IDE. Java, though... you really could spend an extended part of the course just getting everyone setting up their first file and using the compiler correctly, if it's the first language.
- vips7L 7y agoI don't see how java tooling is any more complex than any other language, they all have learning curves. Even Python has complexities around venv, requirements, pipfile etc. C's tooling in particular is probably the worst. You have to learn the compiler, the linker, or a 3rd party tool like cmake or meson. Using an IDE in Java is a choice just like picking PyCharm is for python.
- NoraCodes 7y agoI agree with you in general, but here I am discussing introductory CS programs. It's very hard for an intro CS student to build and run a Java program without an IDE, even with help from the professor. It's completely trivial for that same student to write and run most of the Python programs they'll be doing in their intro class after having installed _just Python_.
- jcrawfordor 7y agoI feel like this kind of makes the point though... while all of this tooling does exist for Python, it's very easy to use Python without any of it at all. So it can be relegated to more of an advanced, 'production-ready' topic, e.g. in a software engineering course. Indeed, I've never seen an intro course in either Python or C that touches on any of this tooling, save one professor who distributed a standard makefile for his intro C course - but I'm honestly not sure why. It usually suffices just fine to have the students call gcc themselves, the projects they work on in the first year aren't big enough to make this cumbersome. While that's partially true of Java, it's less true of Java. More of the tooling around Java is de facto required.
- NoraCodes 7y ago> I can't help but feel like this article is less a condemnation of IDEs in introductory teaching and more a condemnation of java in introductory teaching. It is both, but I started with the IDEs because they are the chicken of this chicken and egg problem. Java is too complex, so schools reach for IDEs, which just makes things more complicated, et cetera. If a standard development environment could be devised that hides the incidental complexity of Java without hiding the essential complexity of file systems, etc., I think it would solve the problem just as well as teaching Python.