I don't see it as misinformation or bad teaching because, visually, there is no difference between a button to refactor the code and a button to compile the code, although the first provides IDE functionality while the latter just calls the compiler. To a beginner, the distinction between compiler, linker and other tools is blurred due to the IDE. "See, kids, this is how they used to program back before the 90s!"ĭo you have experience teaching others how to program? The discussion is not about whether IDEs can improve productivity, which they certainly can, but about whether a beginner should start with an IDE. Compiling/debugging via command line sounds great, maybe in a museum at some point in the future. IDEs are there to make programmers' lives easier and to allow us to get our work done faster. I can hold down the option key, and click on a call like setText, and it pops up this nice dialog that summarizes what class it belongs to, parameters, etc., with links to look at the entire UILabel class reference, look at the actual header file, and more. You know, I just cracked open Xcode 4 the other night, and it's AMAZING. It's good enough for me to know that Xcode 4 is acting as a nice, shiny front-end to gcc, gdb, git, etc. I think that invoking the compiler yourself from the command line just once would not hurt. They actually think that the IDE actually does the compile process when actually all it is doing is invoking the compiler. Then how do you explain the people that call Code::Blocks or Eclipse a "compiler" and they never heard off gcc or javac. This attitude of hating on people for using IDEs is nothing but hubris. You just add your code, hit the compile/run button and off you go :). How does an IDE change that? In fact IDEs can help beginners even more than experienced programmers because they are more apt to make simple errors that the IDE can catch easily.Ī good IDE doesn't require any learning time for the basic features. If people don't understand compiler errors in an IDE when it highlights them and jumps to the problem when you click the error, then how will a text editor and CLI actually help them?Ī compiler always spits out the errors in a certain order. I fail to see how an IDE will make this problem worse. TextMate has plenty of icing on the cake, like defining your own snippets, built-in help command for nearly any common language (C, HTML, PHP, JavaScript just put the cursor over a function call and hit ^H).Īnyway, that's the general idea of what I look for in an editor. When you're thinking faster than you can type, you don't want to have to hassle hitting backspace all the time when writing jQuery code. Auto-outdent is less common, but I require it lately. Recognizing what type of file I'm editing is key. In general, in a coding text editor I look for the basics first: syntax coloring, auto-indent, smart indent. Otherwise if I'm ever coding or scripting on Windows or Linux, I prefer Geany. It's super powerful once you delve beneath the surface of it and get into the nuts and bolts of it. I used to toy around with Ubuntu but switched to Mint mostly due to its super clean interface and menu system.įor programming on a Mac, I use TextMate and feel it's money well-spent. I'm not against an IDE, it's just that in practice beginners have a hard time learning a language and an IDE at once. The IDE speeds up your development when you understand what you're doing, in the beginning it may well work against you. Just because Eclipse suggests fixes in a certain order does not mean #1 in that solves your problem. You'll have to keep thinking yourself how the source code needs to be fixed and not rely on an IDE initially. If something doesn't work, they're unable to determine where the problem is or they think that auto-complete / auto-fix in Eclipse will automatically fix their problems for them. That may be your experience but my experience as teaching assistant tells me beginners have a hard time distinguishing a problem with their tools from a problem with their compiler / language / syntax. If you prefer a nice editor or IDE with auto-complete, code hints, etc., then that's fine too. If you're comfortable doing so, then great. There is absolutely no reason to work in a very "slim" environment with a low-tech editor. Learning to program in general is much more important and having a nice environment to learn in can be very helpful and encouraging for beginners. Just because you should learn to use the command line at some point doesn't mean you should be forced to start there.
0 Comments
Leave a Reply. |