The Artima Developer Community
Sponsored Link

Weblogs Forum
Do IDEs spoil beginners?

39 replies on 3 pages. Most recent reply: Apr 18, 2007 8: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 ]
Greg

Posts: 18
Nickname: singleton
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 10:43 AM
Reply to this message Reply
Advertisement
Suggestion for class project...

Write an IDE.
Once that is done you may use an IDE.

Greg

Posts: 18
Nickname: singleton
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 11:00 AM
Reply to this message Reply
Here is the a great article (for those who haven't
read it)
http://www.joelonsoftware.com/articles/fog0000000319.html

Greg

Posts: 18
Nickname: singleton
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 11:07 AM
Reply to this message Reply
The important parts.....

------------------------------------------------------
Who is Shlemiel? He's the guy in this joke:

Shlemiel gets a job as a street painter, painting the dotted lines down the middle of the road. On the first day he takes a can of paint out to the road and finishes 300 yards of the road. "That's pretty good!" says his boss, "you're a fast worker!" and pays him a kopeck.

The next day Shlemiel only gets 150 yards done. "Well, that's not nearly as good as yesterday, but you're still a fast worker. 150 yards is respectable," and pays him a kopeck.

The next day Shlemiel paints 30 yards of the road. "Only 30!" shouts his boss. "That's unacceptable! On the first day you did ten times that much work! What's going on?"

"I can't help it," says Shlemiel. "Every day I get farther and farther away from the paint can!"


These are all things that require you to think about bytes, and they affect the big top-level decisions we make in all kinds of architecture and strategy. This is why my view of teaching is that first year CS students need to start at the basics, using C and building their way up from the CPU. I am actually physically disgusted that so many computer science programs think that Java is a good introductory language, because it's "easy" and you don't get confused with all that boring string/malloc stuff but you can learn cool OOP stuff which will make your big programs ever so modular. This is a pedagogical disaster waiting to happen. Generations of graduates are descending on us and creating Shlemiel The Painter algorithms right and left and they don't even realize it, since they fundamentally have no idea that strings are, at a very deep level, difficult, even if you can't quite see that in your perl script. If you want to teach somebody something well, you have to start at the very lowest level. It's like Karate Kid. Wax On, Wax Off. Wax On, Wax Off. Do that for three weeks. Then Knocking The Other Kid's Head off is easy.

Jim Paterson

Posts: 2
Nickname: jhpaterson
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 11:41 AM
Reply to this message Reply
BlueJ has a different concept and purpose from all the other IDEs - it is not intended for use in real application development; rather it is designed to allow exploration object-oriented concepts. It does hide some issues, such as classpaths, but it doesn't rely on wizards, and doesn't generate code other than very basic class and method skeletons. It is not a GUI builder - if you want to write a GUI app you have to code it.

I agree about teaching Java and JBuilder at the same time - it just doesn't work. BlueJ has a very easy learning curve, and allows students to concentrate on the language. I don't think that there is anything in BlueJ which contributes to the creation of bad algorithms and it does contribute greatly to learning to use the OO paradigm properly. You can drill deep into an object and its related objects and understand how they work.

I teach Java with BlueJ first, then move over to JBuilder for the next year. Students then are familiar with the langauge and are advanced enough to be taught to use the IDE with an understanding of what the wizards are doing (file locations, classpath, etc).

I also agree that the ability to create algorithms in the first place is fundamental, and should be emphasised whatever tool is used.

Matt Gerrans

Posts: 1152
Nickname: matt
Registered: Feb, 2002

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 1:24 PM
Reply to this message Reply
> These are all things that require you to think about
> bytes, and they affect the big top-level decisions we make
> in all kinds of architecture and strategy. This is why my
> view of teaching is that first year CS students need to
> start at the basics, using C and building their way up
> from the CPU. I am actually physically disgusted that so
> many computer science programs think that Java is a good
> introductory language, because it's "easy" and you don't
> get confused with all that boring string/malloc stuff but
> you can learn cool OOP stuff which will make your big
> programs ever so modular. This is a pedagogical disaster
> waiting to happen. Generations of graduates are descending
> on us and creating Shlemiel The Painter algorithms right
> and left and they don't even realize it, since they
> fundamentally have no idea that strings are, at a very
> deep level, difficult, even if you can't quite see that in
> your perl script. If you want to teach somebody something
> well, you have to start at the very lowest level.

I agree with this in a subjective way. That is, I have the experience of having learned computers and software from the lowest on level up. I started out in EE, learning the analog stuff, then digital circuitry, then machine code, assembly, C, C++ and on up over the years to Java, C# and Python. I feel like the path I've taken allows me insights I wouldn't have if I'd started out with a language like Java, C# or Python. However, I don't have any hard data to support this feeling, because I really only have one data point (moi). I might be completely wrong about it, too. It would take a very large and lengthy double-blind test to try and conclude one way or another and the results would probably still be inconclusive.

I have enjoyed the process of discovery as I progress up the ladder of programming languages; each one has more elegant ways of addressing the frustrations of its lower level counterpart. At the same time, being able to imagine how this is done (for instance, a C/C++ programmer can easily imagine how a Java String might be implemented in Java, or how virtual methods work, or even the JVM itself) seems to make it easier to understand and less mysterious.

However, it also seems to me that the vast majority of people learning programming are not really all that interested in the science (I use that term loosely :-). With all the glitzy eye candy available these days, I think only the most determined people (a small minority) who are really interested in how computers work will be interested in taking such a long path to programming. I'm not saying that this is "bad," I just think it is reality. Trying to foist low-level knowledge and understanding on people who are not really interested in it is probably ultimately a waste of time and effort for both parties. (For those few who are interested, on the other hand, it is an exciting and fun learning process).

> It's like Karate Kid. Wax On, Wax Off. Wax On, Wax Off. Do that
> for three weeks. Then Knocking The Other Kid's Head off is
> easy.

That got an audible chuckle out of me.

On the subject of text editors vs. an IDE, I think it is foolish to take the digital-neo-Luddite stance of only using a text editor. You should certainly have a quick and powerful editor in your toolbox (I am revolted when I see someone use Notepad on their own machine!), but that's no reason to rule out the use of many useful IDEs. Having only one way of editing code is almost as bad as knowing only one programming language -- it goes back to the old "if your only tool is a hammer all problems look like nails" thing (what is that exact quote, anyway?).

Greg

Posts: 18
Nickname: singleton
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 1:31 PM
Reply to this message Reply
I think perhaps we have identified a source of some
confusion. Tools such as Blue Jay are fantastic for
teaching Object Oriented Concepts and object oriented
design. However I think the objection to most IDE's has
more to do with the way that they shield the
student/developer from the nasty details which are
decidedly less elegant. The problem is that IDE's are
generally commercial products which understandably treat
the DEVELOPER as an end user. For other types of software
it is no sin (in fact it is probubly a set of features)
to shield the end user from the nasty details. For a student
it is a disservice.

Secondly most develpers in the field have grasped object oriented
concepts without the use of Blue Jay and I can't help but
feel that mastering these concepts purely in the context of source
code has advantages over anything that UML can offer.
The advantage of these tools is in managing very large
projects across a very large team of developers.
(I know blue jay is billed as a teaching tool and is
reportedly a great one. I'm a curmudgeon. )

Greg

Posts: 18
Nickname: singleton
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 18, 2003 1:45 PM
Reply to this message Reply
>However, it also seems to me that the vast majority of >people learning programming are not really all that >interested in the science (I use that term loosely :-). >With all the glitzy eye candy available these days, I >think only the most determined people (a small minority) >who are really interested in how computers work will be >interested in taking such a long path to programming. I'm >not saying that this is "bad," I just think it is reality. >Trying to foist low-level knowledge and understanding on >people who are not really interested in it is probably >ultimately a waste of time and effort for both parties.
>(For those few who are interested, on the other hand, it >is an exciting and fun learning process).

This is very true and therein lies a huge problem.
I have long argued that what is needed in IT is change of
attitude. I resent that my profession is treated in such
an unprofessional manner. A physician simply could not
get away with "not being inerested in how" the human body
works. To attempting to solve the problems that are common
with software design by abstracting away the details is
fraught with peril and (even if it improves software
quality) in the long run a bad idea. If you want better
quality raise the bar don't lower it.

>On the subject of text editors vs. an IDE, I think it is >foolish to take the digital-neo-Luddite stance of only >using a text editor.

I don't. But I do take the stance of teaching with one.

Vamsee Krishna Kanakala

Posts: 3
Nickname: vamsee
Registered: Jun, 2003

Re: Do IDEs spoil beginners? Posted: Jun 23, 2003 3:22 AM
Reply to this message Reply
Well, I think IDEs do spoil beginners. It's pretty obvious too. I was expecting a much more in-depth article. Essentially speaking, I didn't learn anything I don't already know.

Charles Bell

Posts: 519
Nickname: charles
Registered: Feb, 2002

Re: Do IDEs spoil beginners? Posted: Jul 14, 2003 1:57 PM
Reply to this message Reply
Excerpt from the NetBeans monthly newsletter:

What is all the rave about Rave?
Sun announced a new programming tool to provide experienced developers with an environment that allows them to deal with day-to-day tasks without spending too much time with the backend. Rave is based upon the NetBeans Platform because of its flexibility and extensibility which allows the creation of an application that targets a completely different crowd.

You can read about it at:
http://wwws.sun.com/software/products/projectrave/faqs.html#0q6

Project Rave, Sun ONE Studio and NetBeans all target different segments of the developer community. Project Rave is targeted at Corporate Developers who are looking to make simple things simple, building limited complexity applications with an easy to use and highly productive coding model. Sun ONE Studio is targeted at Enterprise Developers, building highly robust, networked applications and services. NetBeans is targeted at Technologists--source code developers--looking for low cost, low footprint tools that allow them the flexibility to build applications and play with the latest and greatest technologies.

rakesh vashisht

Posts: 2
Nickname: rakeshvash
Registered: Apr, 2007

Re: Do IDEs spoil beginners? Posted: Apr 18, 2007 8:07 AM
Reply to this message Reply
Yes Absolutley, IDE are danger to beginers,
reson behind this that beginer beocome dependent on IDE, due to that their habit to remeber the syntax,coading conevtion becomes limited, they cant think beyond the IDE capacity.

i always think that beginer should must start from notepad, so that they can feel the way java code flows.

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-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us