Sajha.com Archives
Which programming language?

   Hi all, This is for a friend of mine. 13-Apr-03 ashu
     Programming languages: Java: good for 13-Apr-03 eNepal
       For entry level programmer, something li 13-Apr-03 salakjith
         VB.NET is the best bet if your friend is 13-Apr-03 Biruwa
           Visual Basic may be the most popular lan 13-Apr-03 salakjith
             I agree Visual Basic isn't the best of t 13-Apr-03 watever
               FORTRAN 90 !!!! 13-Apr-03 Arnico
                 Ashutosh dai, my thoughts on this: C 14-Apr-03 thapap
                   Well all the ideas on this thread are go 14-Apr-03 dawn
                     Thank you all for your advice and sugges 15-Apr-03 ashu


Username Post
ashu Posted on 13-Apr-03 03:56 AM

Hi all,

This is for a friend of mine.

Since this friend is too shy to come here and post this, I am, with permission, posting this to seek your advice -- especially if you are in CS, academically and/or professionally.

Here's a profile of the friend:

a) NOT in the field computer science, though uses computer for routine non-computer related work.

b) has decent mathematical reasoning skills (GRE math: 780)
c) fairly good in logic.

d) knows the basics of HTML, but has never used the HTML skills beyond an amateur level.

d) does NOT know any programming language.

e) says he is very motivated to pick up programming skills in Nepal on the side (in fact, that's one of this person's New Year-2060 resolutions!).
f) has NO desire to switch into CS programming as a career.

g) wants to learn enough programming in Nepal so as to add value when working with programmers, IT professionals and engineers.
h) wants to pick up programming skills that may help understand (probably) social science issues later on.

i) since not in CS field, stands utterly confused about what to start with . . . by
learning the basics of Java or Visual Basic or C or C++ or C-Sharp . . . what?

Any advice that you seasoned CS professionals and academicians out there can give to this interested but confused beginner in Nepal is welcome.

oohi
"in the interest of public service"
ashu
ktm,nepal

eNepal Posted on 13-Apr-03 05:42 AM

Programming languages:

Java: good for webbased user interface programs. If s/he wishes to run a website or owns a separate domain, this might be a good choice. Because compiler is available free of charge. Good for server side and client side programs.

Perl: same reasons as in Java. Good for server side programming.

C: not really a good choice.

C++: good if s/he is working on developing an independent program using OOPs programming technique. Compiler is copy righted material, one day s/he might be
in trouble if a program is based on pirated compiler.

Visual Basic: Nice programms with user interface can be developed.

Fortran 90: the best programming language if the sole purpose of programming is to do scientific or engineering computations. But, you can not play so easily with characters as you can play in Java or C++ or other programming languages.

JavaScript: if some one want to run a simple client side program for handling forms, then, JavaScript is more than enough.

HTML: is not a big deal, you can create html codes using any languages mentioned above.

As freetime programmer for funs, I love Java, because it will replace all other programs in near future. It has huge resources thats available free of charge. I like fortran for mathematical calculations. My suggestion is Java.

.Net eNepal
salakjith Posted on 13-Apr-03 01:40 PM

For entry level programmer, something like Python would be a very good choice. Python is free and open source (java is not open, only free).

Here are some pointers to get started:
Pythonwebsite


Aguide to new programmers


Asite for non-programmers who want to program

Biruwa Posted on 13-Apr-03 01:49 PM

VB.NET is the best bet if your friend isn't interested in writing too many codes lines but just interested in understanding how programs work.

Detail on the .NET technology such as c# can start to be programmer oriented. So basic VB.NET, usually what is taught at institutes should suffice.
salakjith Posted on 13-Apr-03 03:53 PM

Visual Basic may be the most popular language; but that does not necessarily mean it is the best language for beginners. Here are some reasons why VB may not be a good choice:

Visual Basic, despite being a popular language, is still a proprietary language that is at the mercy of Microsofts whims. Just ask anyone who had to switch from VB6 to VB.NET. MS did a major overhaul in-between those versions and thus breaking most code. Also, VB is neither free nor open-source, and is limited to Microsoft platforms only. So this means you could become a victim of what the computing industry calls vendor lock-in. Compare that with things like Java and Python where any change to the language has to be go through a community process before it comes into effect.

Though the MS .NET SDK (and the compiler) is free, the tools are not. Visual Studio cost a fortune to own. I wont certainly recommend pirating software; the legal risks are not worth taking.

So at the face of plethora of better, free and open tools, there is little reason to fall into mediocrity called VB. For starters, try following the above links I posted earlier.
watever Posted on 13-Apr-03 10:21 PM

I agree Visual Basic isn't the best of the programming languages but it is indeed the best for learning the basics of programming. It is easy, dont have to sit there and type lines and lines of codes, wonderful for concepts into other languages like JAVA or C++.. they are not exact but on the same line ... Well if your friend wants to see how programs work... VB would be a good place to start... then he can decide if he wants to go into other languages as well!!
Arnico Posted on 13-Apr-03 10:48 PM

FORTRAN 90 !!!!
thapap Posted on 14-Apr-03 03:59 AM

Ashutosh dai,
my thoughts on this:

C: very easy with people for logic. structural programming is inherent to C. once familiar with syntax very easy for beginners. very fast (200-300 times Java and at least 20 times C++). telecom industries uses this very much. because of its speed and ease to traverse in the unix kernal.(gcc) gnu compiler is free. can use cygwin on windows to emulate unix/linux like environment for the use of gnu.

C++ and Java: good for object oriented developemet (OOD). may be good one to start if OOD is the way to go. will take time with inheretence etc... . Bad for performance and speed. (g++) gnu compiler is free. for java [JDK from sun free]. cygwin can be used for the unix/linux environement.

programs written in c, c++ and java may be ported to various platforms with minimal effort. Meaning that the program compiled on [ solaris [sun os] 2.8 ] with gnu compiler can be compiled and used in windows 2000 using cygwin and gnu compiler provided that you are not playing too much with the system calls. Once the compiler changes then things would be different.

visual C++ and Basic: based on the Microsoft foundation classes. windows based programming.

my personal opinion easy way out would be going through C and the structural programming and getting along with the syntaxes and reading "DESIGN and PATTERNS" by "erich Gamma" ISBN 0201633612. for OOD Meyers ISBN 020163371X "more effective c++:35 ways to improve your design ....." he has another book on this subject.

cobol/fortan .. i do not know how they work and what they do so would have to say I am totally ignorant on it.
dawn Posted on 14-Apr-03 07:38 AM

Well all the ideas on this thread are golden. However if I have to start I will start like this:
1. I will try to understand the mother of all programming concepts Divide and conquer. For this I will look for some book like Introduction to programming there are several. Once I am acquainted with this concept I will be able to visualize the structural division or object orient or forth-coming subject oriented ideas.
2. After this stage I will try to learn about data structures, algorithm, file structure, file, process. There are several books by in data structure & algorithm by Knuth or Coreman. For File and Process (in Unix like env) you can go through Design of the Unix Operating System by Marice J. Bach
3. I will go littlie bit more in compiler, assembler and Operating System.
4. I will use C/C++ to implement all 1,2,3. At the end I will try to use Java /C#/VC++&&( I dont have any knowledge of MS technology I am just assuming ). I think at this stage I will realize language are all related by concepts there is no point in making so much of hue and cry out of it.
5. I think after the phase 4 I will have good foundation. Now I can go for specialized things like Object oriented &¶llel&&..network&device driver so on and so forth.

ashu Posted on 15-Apr-03 04:28 AM

Thank you all for your advice and suggestions.
Really appreciate them.

Have asked the friend to check out your suggestions and start his career as a programmer hobbyist.

Once again, thank you for taking the time to post info here.

oohi
ashu
ktm,nepal