Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

steelphantom

macrumors 6502a
Oct 15, 2005
555
1
weg said:
Directly compiling a binary is just the first step. When your projects become more complex, your programs will consist of several objects, and it will become necessary to understand linking, libaries etc. When projects become more complex it is really necessary to understand the building process, and this is hard to learn when the IDE does everything for you. IDEs aren't perfect, and with no knowledge of how building works, you're pretty lost when there's a problem your IDE can't handle..

Thanks! This is probably the first good explanation I have really gotten on this subject. I'm still doing single-file programs, so the use of the command line didn't seem so apparrent. Now I get it. :D
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
ffakr said:
The reply dismissed that suggestion because this isn't about text editing.
That's a pretty closed minded look at coding. Of course it's about text editing. What do you write code in? Cuneiform?

Text editing is merely a way of transcribing a program into something the computer can read. It has nothing to do with actual programming concepts (algorithms, functional decomposition, debugging, even relatively trivial things like language syntax). It's also not the only way in which programs are made (see HyperCard and various visual editors). Further, I disagree that learning vi has anything to do with learning how "everything REALLY works"; it teaches you how one rather old text editor that some people like works*. Now, doing things like gcc -s to see how the compiler outputs stuff, or manually linking a simple multi-object program... that I could see as useful in learning how things work, although probably not to a beginner.


*and really, not even how it works, just how the UI works. Since when is learning how to use an application "programming"?
 

ffakr

macrumors 6502a
Jul 2, 2002
617
0
Chicago
missed the point

Catfish_Man said:
Text editing is merely a way of transcribing a program into something the computer can read. It has nothing to do with actual programming concepts (algorithms, functional decomposition, debugging, even relatively trivial things like language syntax).

You completely missed my point and perhaps that was my fault.

I was trying to get across that it's useful to deal directly with the compiler.. to learn about makefiles.. to learn about compile flags.. to learn about optimisation levels..
As I mentioned, it doesn't matter what text editor you use. I suggested vi because it's common to pretty much every OS that is a Unix derivative (and real Unicies of course). It is about text editing.. but ONLY in as much as you need to write code. You don't need a yoke to fly a plain either but its not only a good way to fly one but there's a logical connection to the manual input and what the flight surfaces are actually doing.

You apparently didn't read what I wrote or I didn't explain myself well.
I was trying to point out that it's better to use a text editor (any one but I suggested vi) and gcc than to start out with full blown IDE (IMHO).. and god forbid you start out with a visual development environment if your goal is to really learn how to program.

There are plenty of ways to make it easier to develop code but you don't really learn how to program well. Using Rails to develop a Ruby application sure as hell doesn't make you a competent Ruby developer. I could teach a non-developer with some smarts to make a Rails app in a short amount of time but if something subtle went wrong and they'd be blown away by the hundreds or thousands of lines of real Ruby that Rails is hiding.

ffakr.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.