Thread: Eclipse Sucks.
View Single Post
  #16   Spotlight this post!  
Unread 11-04-2016, 09:27
mathking's Avatar
mathking mathking is offline
Coach/Faculty Advisor
AKA: Greg King
FRC #1014 (Dublin Robotics aka "Bad Robots")
Team Role: Teacher
 
Join Date: Jan 2005
Rookie Year: 1999
Location: Columbus, OH
Posts: 635
mathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond repute
Re: Eclipse Sucks.

I have been teaching computer science to high school kids for quite a while now. It was a different century when I started. Kids who are programming a robot should be able to handle a wide variety of methods to create and compile code. From a simple text editor and the command line to using a variety of IDEs. That said, when I teach students new to programming we use an IDE. In fact we use Eclipse because I have found it has the best balance of fairly easy learning curve, good tools and ease of installation for them at home. The reason we use an IDE is that when they are first learning to program, I want them focused on developing and implementing algorithms. Not distracted by the intricacies of getting code compiled.

When I first started teaching, a lot of the "old timers" argued that we should always teach Assembly first, and command line compiling, so students understand "how it really works." They somehow always used a race car analogy: "You wouldn't want a race car drive who didn't understand how the engine works." There are two main problems with this, in my opinion. The first is that they are arguing that Java (or when I first started Pascal, Fortran or C) is an abstraction so students should learn Assembly first. The same basic argument was used for using command line compiling over an IDE. The problem is that Assembly is still an abstraction. It is closer to the machine than Java or C, but still an abstraction. So teaching it as "what is really going on" is not in fact correct. And leads to misconceptions.

The second is that it leads to bad initial habits. In my experience it is much easier to learn a higher level language like Java or C first and then learn Assembly. In particular it is good to use an environment like Eclipse or NetBeans that makes automatic formatting easy. I had a boss once who had a poster for Dante's "Inferno." He had modified so that the seventh circle was reserved for those who do not consistently format code and the eighth for people who confuse a short line of code as an elegant or efficient line.
__________________
Thank you Bad Robots for giving me the chance to coach this team.
Rookie All-Star Award: 2003 Buckeye
Engineering Inspiration Award: 2004 Pittsburgh, 2014 Crossroads
Chairman's Award: 2005 Pittsburgh, 2009 Buckeye, 2012 Queen City
Team Spirit Award: 2007 Buckeye, 2015 Queen City
Woodie Flowers Award: 2009 Buckeye
Dean's List Finalists: Phil Aufdencamp (2010), Lindsey Fox (2011), Kyle Torrico (2011), Alix Bernier (2013), Deepthi Thumuluri (2015)
Gracious Professionalism Award: 2013 Buckeye
Innovation in Controls Award: 2015 Pittsburgh
Event Finalists: 2012 CORI, 2016 Buckeye
Reply With Quote