Learning with command-line vs IDE

A

arlef

Hi Guys,

When learning a language such as C#, would you say it is better to learn the
fundamentals using the command-line compiler and a simple text editor such
as notepad compared to using a full-fledge IDE such as VS.NET 2005 which
gives code-insight, debugger, etc?

Regards,
James.
 
M

Marc Gravell

Notepad? No.

In reality, .Net programming is very little to do with the langauge, and
mostly to do with the framework and custom classes available. The simple
fact is that intellisense and some kind of object-browser are almost
indispensible here. By all means, learn how to compile at the command line
if you like, but i don't see much benefit in struggling to get something to
compile because of a simple typo, or inccorect parameter type, that would
have been avoided with proper support from an IDE. Why put obstacles in your
way? There is nothing wrong with asking for help, and [F1] and "Go To
Definition", etc, are not just for wimps.

If you want to understand "how things work", however, I might suggest
writing some Forms etc without using the designer. It helps you appreciate
what goes on. But again, designers can have roles to play, and if you can do
something in 10 minutes with a designer, or 2 hours by hand (5 hours in
notepad), then put simply I'd prefer to be working with people who get the
job done in 10 minutes and get on with the next task.

And notice I didn't specify VS here... most any would do, and the Express
editions are free. Or there are others like SharpDevelop, or C# plugins for
eclipse.

Marc
 
G

Guest

I think you will learn the language much easier using the IDE as if
helps/prompts you for things, code generates boring things like the code for
laying out the for etc.
If you want to know how to run the compilers and what exactly gets linked in
etc, use the command line.

HTH

Ciaran O'Donnell
 
B

Barry Kelly

arlef said:
When learning a language such as C#, would you say it is better to learn the
fundamentals using the command-line compiler and a simple text editor such
as notepad compared to using a full-fledge IDE such as VS.NET 2005 which
gives code-insight, debugger, etc?

The fundamentals? Define "fundamentals"! I recommend you start out with
ILASM & WinDbg & SOS!

:)

-- Barry
 
G

Guest

By language I mean the Framework Class Library as well as simple things like
class layouts, keywords, preprocessor directives etc.

Ciaran O'Donnell
 
B

Bill Butler

arlef said:
Hi Guys,

When learning a language such as C#, would you say it is better to
learn the fundamentals using the command-line compiler and a simple
text editor such as notepad compared to using a full-fledge IDE such
as VS.NET 2005 which gives code-insight, debugger, etc?

I originally learned C# via Visual Studio (In the office).One day I
wanted to slap together a quick test program at home, but I only have
Visual Studio 6.0 at home and it is Pre dotnet. So I downloaded and
installed the SDK(Free) and off I went.
When working I will generally have the following things open
Console window (Make sure to adjust the default window sizing)
UltraEdit (you could use notepad, but a true editor is nice)
SDK documentation (This is a great source of information)
Google -
microsoft.public.dotnet.languages.csharp

Compiling can be a simple as typing "csc *.cs".
If you need more advanced compiler options you can easily type it into a
batch file.

The majority of the work that I do is not Forms based, but I have done
Forms from the command line as well. If you are doing a lot of Forms
programming, the layout tools in the IDE will save you a bunch of time.

Another bright point is that the command line is not an 800 pound
gorrilla like Visual Studio.

I think that Visual Studio is a great tool, I just don't like to
bring the big guns in if I don't really need it

Hope this helps
Bill
 
J

Jon Skeet [C# MVP]

I think that Visual Studio is a great tool, I just don't like to
bring the big guns in if I don't really need it

It's good to know I'm not alone on this. It's a rare day when I'm
answering newsgroup posts and I don't need to run some code - but
opening up Visual Studio and finding or creating an appropriate project
takes much, much longer than firing up a command prompt, editing
Test.cs (which is in the directory my command prompt starts in),
compiling and running.
 
M

Marc Gravell

Jon: I have the tiniest inkling that maybe, just maybe, you have
already gone a little bit past the "learn the fundamentals" stage <g>

I agree 500% that "cmd" can be the quickest way to work (rhetorical:
have you *tried* hitting compile / play in a complex web app in VS!
eughh!), but it (notepad / cmd / etc) isn't necessarily the best
learning environment. It can be done that way, though...

Marc
 
J

Jon Skeet [C# MVP]

Marc Gravell said:
Jon: I have the tiniest inkling that maybe, just maybe, you have
already gone a little bit past the "learn the fundamentals" stage <g>

I agree 500% that "cmd" can be the quickest way to work (rhetorical:
have you *tried* hitting compile / play in a complex web app in VS!
eughh!), but it (notepad / cmd / etc) isn't necessarily the best
learning environment. It can be done that way, though...

Certainly there are better text editors than notepad around :)

Seriously though, while things like Intellisense help in terms of
exploring the framework, I would argue that writing all the code
yourself instead of using a designer is a better way of learning how
things like WinForms work.

(And one of the nice things about ASP.NET is that you don't actually
need to fire up VS at all, or have a project etc. I've got a few very
useful web apps which are simple enough not to make it worth firing up
VS.)
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

arlef said:
When learning a language such as C#, would you say it is better to learn the
fundamentals using the command-line compiler and a simple text editor such
as notepad compared to using a full-fledge IDE such as VS.NET 2005 which
gives code-insight, debugger, etc?

[warning: I am not a typical .NET developer]

I think you should spend the first couple of months using
a standard editor (something better than notepad is OK) and
command line build.

This will give you a good understanding of exe's, dll's,
ASP.NET web app structure, web service references.

Then you can switch to an IDE and increase your productivity
and now you know what VS actually does for you.

Then after some years you will probably start mixing
a bit: you use a standard editor for small things
(because you do not write the trivial code - you copy
it from existing code), IDE if you need to write more
code, and you build with NAnt.

Arne
 
J

jussij

When learning a language such as C#, would you say it is better
to learn the fundamentals using the command-line compiler

As an long time programmer who grew up with the command
line, IMHO you can learn a lot by doing things from the command
and using make files etc.
and a simple text editor such as notepad compared to using
a full-fledge IDE such as VS.NET 2005 which gives code-insight,
debugger, etc?

Using something like the Zeus for Windows IDE:

http://www.zeusedit.com/features.html
Note: Zeus is shareware (45 day trial).

you get a lot of the IDE with features like class browsing,
syntax highlighting, smart indent, code folding, project
workspace management, version control etc, but you still
need to get your hands dirty with all the command line
configuration details ;)

Jussi Jumppanen
Author: Zeus for Windows
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top