The Artima Developer Community
Sponsored Link

Weblogs Forum
Do IDEs spoil beginners?

39 replies on 3 pages. Most recent reply: Apr 18, 2007 5:07 AM by rakesh vashisht

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 39 replies on 3 pages [ « | 1 2 3 | » ]
Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:07 PM
Reply to this message Reply
Advertisement
I just want to say that I couldn't agree with what you wrote more. :-)

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:12 PM
Reply to this message Reply
"On the other hand I had a lot of trouble with the PATH, the CLASSPATH, orders and names of JAR files,..." I'm sure you have, and so have I. That's not, however, an argument to force beginners to learn about it.

I won't even comment on the elitist part of your second paragraph. Let's just say that you don't need to be a "good developer" to benefit from being able to tell your ide to rename and variable, and have it rename all references to that variable.

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:18 PM
Reply to this message Reply
"Learning programming fundamentals and classpath & vm details etc go hand in hand."

Can't say I agree with you. Some vm details are part of learning to program, but an ide isn't any better or worse for learning about memory issues than vi is.

Small beginner projects never deal with classpath issues. The entire classpath is that single project (plus the built in java libraries, of course).

"But I have seen most of the times,the students start using the enterprise IDEs and forget about learning other necessary details of the language."
That's very true. And professors don't seem to like to teach classpath issues once a student knows how to program, even though they should. Classpath and .jar and the like issues come up in larger projects, and they should be taught when the students start working on larger projects.

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:26 PM
Reply to this message Reply
"I think it's important to understand concepts such as the classpath, garbage collection, object management, etc"
No kidding. But this is getting off topic. An ide is just as useful (aka useless) as is vi or notepad for learning about these issues. It doesn't get in your way, or help you out.

"Manipulating String classes in Java and the resulting explosion of objects it can create is a classic gotcha, yet I've seen new programmers make horrendous mistakes like this simply because they didn't understand the JVM."
Yeah, that's called learning. You make mistakes. And the "explosion of objects" isn't an issue until you're building a big enough system where you really care about performance.

"So, do IDE's spoil beginners? No, I wouldn't say they spoil them exactly but I would say that they do not promote understanding and so create potential problems for later. " Well, yeah sorta - people just don't take the time to learn the glossed over things until they need to. But often it's better not to learn about these things until you need to.

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:31 PM
Reply to this message Reply
<b>Or</b>, if they had programmed any decent sized program, they would have figured it out by now. You don't need to learn assembly to understand the difference between global and local variables, you just need practice.

<sarcasm>
Perhaps they spent their time learning about classpaths instead of learning about local and global variables. ;-)
<sarcasm>

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:32 PM
Reply to this message Reply
Then you must not be working on large projects, or you're very very unproductive. Do you ever do any refactoring? (rename any public methods?)

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:34 PM
Reply to this message Reply
I would like to point that that the entire virtual machine, and in the fact the entire java programming language is one big abstraction.

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:35 PM
Reply to this message Reply
> You don’t have to start teaching Java with CLASSPATH or
> JVM details. You can address CLASSPATH when you need to
> introduce access modifiers and packages, and JVM details
> when addressing Strings immutability and garbage
> collection, for instance. I think IDE are for improving
> productivity not to flatten the learning curve.
> Great article the “The Law of Leaky Abstractions”. Thanks,
> Keith Gaughan.
>
> acruz

I couldn't agree more. :-)

Paul Rivers

Posts: 24
Nickname: paulrivers
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 12, 2003 10:41 PM
Reply to this message Reply
> <p>I remember my first Java program that I wrote in a
> notepad and then I had to edit my autoexec.bat file on
> Windows 95 machine to setup the classpath to run that
> program. Initially I wrote many programs in notepad and
> ran through command line. Also I learned a lot about what
> goes on under the hood. After few months, I slowly
> graduated to IDE and it was a great feeling as now I could
> use cools features offered by an IDE.</p>
>
> <p>It is been 8 years, java was first introduced and
> within those years as the language has matured, so do
> IDEs. I have used most of the major commercial as well as
> open source IDEs within last few years. I value those
> IDEs, especially while working on the projects that have
> very aggressive schedules, as they take care of lot of the
> laundry work for me. But at the same time, I feel that
> using the IDEs right away can spoil beginners. I am saying
> this because of the few experiences I have had and I would
> like to share one of those experiences here. One day a
> programmer came to me and said he has downloaded some
> software, but he is getting errors and unable to run it.
> So I looked at it and found out that the classpath needed
> to be set for that software. When I told him that, he
> asked me how to set the classpath? This guy has been using
> the IDE right from day one and had never set the classpath
> manually. I can go on and on with other experiences.</p>
>
> <p>In my opinion, the beginners should start with just a
> text editor, running the programs through command line,
> doing things manually and then gradually move to IDEs.
> That way they will have better understanding of how
> certain things work under the hood.</p>

You could have also started with an ide, then slowly graduated to using the command line, and you still would have learned the same things.

An IDE does not replace experience programming. An IDE is no better or worse for learning about jvm issues than notepad or vi is. The little that an ide does hide can be learned when you need to/want to learn it.

Jim Paterson

Posts: 2
Nickname: jhpaterson
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 17, 2003 4:25 AM
Reply to this message Reply
BlueJ!

Charles Bell

Posts: 519
Nickname: charles
Registered: Feb, 2002

Re: Do IDEs spoil beginners? Posted: Jun 17, 2003 8:49 AM
Reply to this message Reply
I hear the newest "spoiler" is called Rave.

Its coming from java.sun.com

I need to be spoiled.

Tim Hansell

Posts: 1
Nickname: hansellt
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 17, 2003 1:47 PM
Reply to this message Reply
I've taught introductory programming classes for about
10 years now.

In general I agree.

In my experience
IDE's can do one of two things to beginners:

1) Confuse the heck out them.
I taught Java to students who tried to learn JBuilder at the same time that they were learning Java. They had myriad problems that the IDE was at the heart of. Some couldn't find where their source files were to turn them in. They had no concept of the directory structure that the IDE was building for their project.
Some used the "GUI/Visual" features provided by the IDE and produced code that had many many Anonymous Inner classes, and didn't really understand what was going on with their code. The example program that I gave them had 1 class, while what the IDE produced "for" them had many more.

2) Help them create very "pretty" programs with "nice" GUI interfaces that don't solve the problem they were trying to solve.

I have seen this more in VB than in Java, but the fact remains that with the advent of tools like VB or JBuilder
it is possible for someone who doesn't really understand how to program to create a "cool" interface and never really learn what programming is all about.


I agree with the person who was concerned about beginners worrying about "setting the classpath" and other "under the hood" issues that beginners aren't really ready to handle.

I would like to see a good "beginners" IDE created that insulates the user for them stuff they shouldn't worry about without giving them "enough rope to shoot themselves in the foot".

I've heard about BlueJ, but haven't had time to look into it.

Can anyone talk about BlueJ and give me any idea if it is worth looking at ?

-tim

Matt Gerrans

Posts: 1153
Nickname: matt
Registered: Feb, 2002

Re: Do IDEs spoil beginners? Posted: Jun 17, 2003 5:28 PM
Reply to this message Reply
I haven't used BlueJ much, but I think it has some of the same problems you pointed out with JBuilder for beginners. Several times in the Java Answers Forum, I've tried to answer questions for students, but had troubles because their code was all wound up in BlueJ -- that is, it wouldn't compile without first having some BlueJ jar files installed. This same kind of thing can happen with JBuilder; you use the wizards and get all kinds of nifty features, but you need to know which of their jar files to deploy. This is great for the experienced Java programmer, but confusing for the beginners.

Weiqi Gao

Posts: 1808
Nickname: weiqigao
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 5:01 AM
Reply to this message Reply
My problem with the current crop of IDEs is that there are too many of them. You want to program with C++ on Windows? Use Visual Studio.NET. You want to program in Java? Use IDEA. You want to program in object PASCAL? Use Delphi. You want to program in the new language that some one will invent this year? Wait a couple years for Borland to write an IDE for it.

On the other hand, I learned vi twenty years ago, as a beginner. I'm still using it today. I've used it to program in C, C++, Java. I've also used it to create the documentation in ASCII, man, TeX, HTML and XML formats. I'm still using it. That's reuse! Had I opted to learn an IDE, my choices at the time are^H^H^His Turbo PASCAL.

My opinion is that beginners need to learn vi or Emacs, not an IDE. Just like they need to learn talking and running, not flying an airplane.

Aahz

Posts: 14
Nickname: aahz
Registered: May, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 7:31 AM
Reply to this message Reply
> On the other hand, I learned vi twenty years ago, as a beginner. I'm
> still using it today. I've used it to program in C, C++, Java. I've
> also used it to create the documentation in ASCII, man, TeX, HTML and
> XML formats. I'm still using it. That's reuse! Had I opted to learn
> an IDE, my choices at the time are^H^H^His Turbo PASCAL.
>
> My opinion is that beginners need to learn vi or Emacs, not an IDE.
> Just like they need to learn talking and running, not flying an
> airplane.

Heheheheh. I started programming more than 25 years ago, in BASIC on an
HP 1000 with a TTY. I didn't have an editor. I didn't
really start programming, though, until I got access to the UCSD P-System
and then Turbo Pascal 2.0. Those were IDEs, albeit primitive ones.

Since then, though, I Have Seen The Light. Like you, my tool is vi.
There's something comforting about having a standard, usable editor that
permeates everything I do. What I'm not sure about is whether it makes
more sense to start with an editor or an IDE. I remember how much fun
Turbo Pascal was and how easy it made everything. On the gripping hand,
that was in the days when Wordstar ruled the world and "everybody"
already knew how to use Wordstar -- I stuck with QEdit in the DOS world
for many years after I learned vi because that was easiest for me.

Flat View: This topic has 39 replies on 3 pages [ « | 1  2  3 | » ]
Topic: Do IDEs spoil beginners? Previous Topic   Next Topic Topic: Clear, Consistent, and Concise Syntax (C3S) for Java

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use