help a beginner decide

M

Mark Reed

Hello everyone...

I was wondering if I could get some feedback or suggestions.

Ive been in IT for about 8 years - all of which have been focused in
networking and hardware.

I am looking to switch courses/diversify and get into programming.

I am curious as to which language is a good one to start with? Ive never
worked with any programming language...closest is HTML.

I am looking to be able to design applications to handle various
tasks...nothing specific to networking... it will be a mix from simple
games, to data driven apps, to networking related functions.

Which language is easiest to learn as a rule of thumb?

Which language offers the most industry acceptance and value in the
business place?

From those that have started new and can recall the early days of their
quest...Where is a good place to start?

Thanks!

M. Reed
 
G

gooch

Mark said:
Hello everyone...

I was wondering if I could get some feedback or suggestions.

Ive been in IT for about 8 years - all of which have been focused in
networking and hardware.

I am looking to switch courses/diversify and get into programming.

I am curious as to which language is a good one to start with? Ive never
worked with any programming language...closest is HTML.

HTML is a Markup Language not a programming language.
I am looking to be able to design applications to handle various
tasks...nothing specific to networking... it will be a mix from simple
games, to data driven apps, to networking related functions.

The language used will depend on the given application requirements.
There are many languages each with their good points and bad. When you
are designing a system the coice of language should be driven by the
requirements of the system, i.e. you should choose the language that
best meets your needs. With that being said there are other
considerations that usually come in to play, i.e. development tools
already owned by the company and knowledge base of the personnel are
probably the 2 big ones.
Which language is easiest to learn as a rule of thumb?

Which language offers the most industry acceptance and value in the
business place?

This just depends on where you go or what industry you are talking
about. There are differences between real time embedded systems and
gamming.
From those that have started new and can recall the early days of their
quest...Where is a good place to start?

Thanks!

I would suggest you pick C, C++, or Java and learn that. The key is to
learn good software engineering practices not a particular language. If
you can engineer good software the language itself is just a matter of
learning some syntax. You may be better off learning C++ or Java first
if you are looking for industry impact. OO is the big thing these days
and these language provide better support for the OO constructs,
although they are frequently used in C as well.
 
A

anonymous

Mark said:
Hello everyone...

I was wondering if I could get some feedback or suggestions.

Ive been in IT for about 8 years - all of which have been focused in
networking and hardware.

I am looking to switch courses/diversify and get into programming.

I am curious as to which language is a good one to start with? Ive never
worked with any programming language...closest is HTML.

I am looking to be able to design applications to handle various
tasks...nothing specific to networking... it will be a mix from simple
games, to data driven apps, to networking related functions.

Which language is easiest to learn as a rule of thumb?

Which language offers the most industry acceptance and value in the
business place?

From those that have started new and can recall the early days of their
quest...Where is a good place to start?

Thanks!

M. Reed

You are, of course, likely to start a war, but here goes. I started out
using C, then C++, then Java. Have looked at C# and decided to play with
it if it ever arrives at Linux in a better shape than Mono.
There is always work out there for a C# or a Java kind of person. I'd do
both in your place. They are very similar (no flames, please) and both
are based on really sound thinking, I think. If you use a MS platform,
it should be easy. If you prefer Linux, go with Java.
Obviously, you need to understand Object Technology for anything you do
these days. No flames, please, I know about php, COBOL, C and the likes.
 
F

frankgerlach22

Java is much more tolerant regarding bugs than C/C++. (More precisely,
it will properly diagnose much more errors then C++ does - just think
of uninitialized pointers or array overrruns) This is a major issue for
beginners. From all I have heard about C#, it is quite comparable to
Java, but the market for Java developers is considerably larger.
Finally, Smalltalk is a simple but powerful object-oriented language.
Its dynamic typing makes Smalltalk programs simpler and smaller than
Java programs. The downside is that the market for Smalltalk developers
is much smaller than for Java.
 
M

Mark Reed

I noticed no one mentions MS Visual Basic.net...is that an area to stay
away from when starting out?
 
D

Dobieslaw Wroblewski

I noticed no one mentions MS Visual Basic.net...is that an area to stay
away from when starting out?

Some people I talked to said that MS Visual Basic.net is a just crippled C#,
i.e. C# with keywords of old VB :). The analysis of some example code seems
to prove this opinion. Personally, I would not go for it, the syntax of C#
seems much more well-defined, consistent and readable (to me). I think that
learning C# or Java will lead you to developing better programming practices
than learning VB.

Traditionally, Pascal was regarded as a perfect language for developing good
practices. It has a very consistent definition and a clear structure
(definitely clearer than C/C++), but I do not know how big is the market for
Pascal programmers now. I remember there were days that Pascal became quite
popular thanks to Borland Delphi, but I do not know what is the current
position of Delphi on the market.

Both Java and C# are cool languages. I cannot say which is
cooler/better/nicer.

DW.
 
M

Mark Reed

so learning Visual C# using Visual Studio would be a good start? Or is
there another C# implementation (non-visual studio) I should look at?
 
M

Mark Reed

Thank you so much for the help.

Im a networking/IT security person that has no experience in
programming...Im looking to get my feet wet... There is no specific purpose
or goal in mind. I want something easy to learn...something that can do
various tasks on a windows machine... Not too concerned with linux or other
platforms right now. I would like to be able to create simple data driven
apps...maybe a small catalog type app... Etc.. I like the GUI interfaces
for apps rather than command lines/term windows.

I looked at Java but was a little unsure if it is an easy language to
learn. I heard VB.net is a very easy language and is popular in the general
business sector (as is java). Then I see that C# is part of the visual
studio.

I also heard, and it may be untrue, that java cannot produce an actual .exe
file for distribution...that end users need the virtual machine
installed... I like the idea of being able to compile an single EXE to run
on any windows machine.

With that said, what would you suggest?

I really appreciate your advice!

M. Reed
 
D

Dobieslaw Wroblewski

so learning Visual C# using Visual Studio would be a good start?

Well, if the cost is OK for you - this is the most convenient tool to start,
I think.

Or is
there another C# implementation (non-visual studio) I should look at?

I assume that you think of MS Windows platform.

There is something free - "Sharp Develop" or somethink like this. I am not
sure if this needs some prerequisites or it is stand-alone. I think it needs
the .NET framework which is free. I took a quick look at Sharp Develop, but
frankly speaking Visual Studio is nicer for me to use and my company bought
a license, so I did not bother to use anything else ;-).

DW.
 
D

Dobieslaw Wroblewski

I looked at Java but was a little unsure if it is an easy language to

It is easy, however, if you start with .NET you have certain first steps
done for you - so .NET seems to me easiest to begin with.
As for the language itself, Java and C# are really very comparable in terms
of ease/elegance/understandability - they are very similar in many ways.

If you choose C# and pay for the Visual Studio, you get the full environment
at once, equipped with many wizards that will let you make your first
application vary fast, even without really understanding what is going on
;-). This is either good or bad, depending on how you look at it ;-). Thanks
to Visual Studio and a nice GUI designer, you will just get first working
results faster in C# than in Java.

If you choose Java, you have to care a bit more (download and install JDK,
get some IDE, do some configuration...). The advantage is that there is a
lot of good free tools (eclipse, NetBeans), but the start is a bit more
difficult.

I heard VB.net is a very easy language and is popular in the general
business sector (as is java).

I heard opinions that VB.net was created just to attract (numerous) VB
programmers to the .NET platform. It's probably easier than C# to understand
ONLY for previous VB programmers, but if you have no previous experience -
choose C#: the language that is native to .NET, has a clearer structure and
will let you develop better practices. Personally, I do not think VB is easy
;-). It has many magic :)-) inside and reminds me of a script or
meta-language rather than a well defined one. I am not sure how much magic
was moved from VB to VB.net, but... well... I would just not recommended it
for the beginner.

Then I see that C# is part of the visual
studio.
Exactly.


I also heard, and it may be untrue, that java cannot produce an actual ..exe
file for distribution...that end users need the virtual machine
installed...

There are workarounds, but frankly speaking I have not tried any yet.

I like the idea of being able to compile an single EXE to run
on any windows machine.

Not exactly, .NET framework has to be installed on the machine, but you
might expect that it will be shipped with next versions of windows. Maybe it
is included in service packs (I am not sure).

With that said, what would you suggest?

If you focus on MS Windows platform and can afford Visual Studio, this is
probably the easiest way to start. If you have no real reason, do not start
with VB.net - start with C#. Maybe when you get some practice, you wil try
Java or C/C++.

If you choose free tools and/or want to develop for more platforms than MS
Windows - choose Java. More work at first to get the first running
application, but you will have to learn more at first (whether this is good
or bad, it depends on your personal view ;-).

DW.
 
D

Dobieslaw Wroblewski

I like the idea of being able to compile an single EXE to run
Not exactly, .NET framework has to be installed on the machine, but you
might expect that it will be shipped with next versions of windows. Maybe it
is included in service packs (I am not sure).

On the other hand - many distributions of linux have the java runtime
bundled inside, and the compiled java classes are treated as executables by
the shell - so if you focus on linux platform - C# loses its advantages in
this aspect.

DW.
 
L

Luigi Donatello Asero

Dobieslaw Wroblewski said:
It is easy, however, if you start with .NET you have certain first steps
done for you - so .NET seems to me easiest to begin with.
As for the language itself, Java and C# are really very comparable in terms
of ease/elegance/understandability - they are very similar in many ways.


Does the use of java require higher costs than the use of other computer
languages such as php?
If you choose C# and pay for the Visual Studio, you get the full environment
at once, equipped with many wizards that will let you make your first
application vary fast, even without really understanding what is going on
;-). This is either good or bad, depending on how you look at it ;-). Thanks
to Visual Studio and a nice GUI designer, you will just get first working
results faster in C# than in Java.

If you choose Java, you have to care a bit more (download and install JDK,
get some IDE, do some configuration...).

Is JDK freeware or how much does it cost?


Thank you very much ín advance for your answers.
 
D

Dobieslaw Wroblewski

Does the use of java require higher costs than the use of other computer
languages such as php?

Frankly speaking - no experiences with php, in fact I am also quite new to
Java. There are several commercial java classes, library packages and
utilities, but there is also lot of free or open source stuff, too.

Is JDK freeware or how much does it cost?

You just download it from Sun.

DW.
 
A

AlexKay

Mark Reed said:
I noticed no one mentions MS Visual Basic.net...is that an area to stay
away from when starting out?

Hmm, I already posted something but google seems to have chewed it up? Lets
try again ...

Being a comp.lang.java.programmer news group there won't be many VB fans
here. But I believe VB/.Net are good for:- their easier learning curve, MS
Office integration and for building intensive gui apps however you are
limited to PCs only.

C# - I don't use it but I am an Anders Hejlsberg fan. As key player in Turbo
Pascal/Prolog, Delphi , C# and dotNet so I'm sure its all good BUT again
it's PC applications only.

I can't imagine that the integration between VB or C#'s and networking gear
like Cisco routers is all that flash(?) For networking/hardware guy that
would be a serious factor IMHO.

Anyway, personally I use several languages, it depends on what I'm doing,
what the target is, etc etc ...

UNIX SCRIPTS and
PERL - great for gluing things together and for building utilities,
automating system tasks, smaller applications, reporting, accessing routers,
switches, ...

Currently I'm using Unix/Perl to talk to labs full of Cisco Systems gear.

JAVA - great for Enterprise Systems. Runs on big and small boxes. Talks to
everything. Nice to work with. Good APIs. My fav.

C/C++ - Lower level system stuff, device drivers, operating system
components, word processers, databases, etc. Java itself was written in C,
maybe C++ now?

As I said it all depends on what exactly you want to do.

YMMV

HTH ;-)
Alex
 
J

Jon Caldwell

Mark said:
I looked at Java but was a little unsure if it is an easy language to
learn. I heard VB.net is a very easy language and is popular in the general
business sector (as is java). Then I see that C# is part of the visual
studio.

Careful with this comparison of C# and Java. I have heard both .NET-ers
and Java programmers joke that they could convert freely between a C#
and Java class with a sed script. In other words, C# is little more
(syntactically) than a replacement of class names and key words of Java.
 
J

Joona I Palaste

Frankly speaking - no experiences with php, in fact I am also quite new to
Java. There are several commercial java classes, library packages and
utilities, but there is also lot of free or open source stuff, too.
You just download it from Sun.

There is more than one JDK. The one from Sun is freeware, yes. Modern
Linux distributions ship with Java support built into GCC. But there's
nothing stopping a company from developing a commercial JDK that you
actually have to pay for.
 
C

Chris Smith

Dobieslaw said:
As for the language itself, Java and C# are really very comparable in terms
of ease/elegance/understandability - they are very similar in many ways.

There are certainly differences. C# is a good bit more complex for
fitting into the .NET framework (for example, there's the struct/class
distinction, and managed vs. unmanaged code, and a duplication between
language-level type names vs. .NET type names, which might means the
same thing but have different names), and because it re-introduces
several concepts that Java removed from the C and C++ languages (for
example, operator overloading).

Then again, generics in 1.5 turn Java into an immensely complicated
language as well; so I suppose that may be a wash.

--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
 

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

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top