hi,<br><br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
The first issue is to consider what sort of applications interest you.<br>
If you would like to try web site development then I would suggest<br>
Ruby on Rails would be something to look at. If you would like to<br>
build programs to run on your desktop to interact with your computer<br>
then possibly Python. If scientific data analysis and statistics then<br>
possibly C++. Any of these will allow you to learn the basics of<br>
computer programming, but it is advisable to use a tool which is good<br>
for what interests you. Others will no doubt suggest other languages,<br>
though I think it unlikely anyone here will recommend .NET, VB or<br>
COBOL.<br>
<br>
Colin<br></blockquote><div><br><br>I have been away from the ocean of programing language, but (apart from my job) I am trying to start learning a new language (for the sake of interest to know more about the technology), so wanted to understand the the basic principles keeping in my mind that I have to learn Linux in future, of course because of its thousand times for security as compared to the Windows OS. So as in future, I would be turning towards Linux, I guess C would be good (based on the suggestions of the community members) though I always understand that there are principle which are to be grasped at first and these are same irrespective of the language adopted via interest. Possibly, C++ would not be that easy to start with (without knowing C!!) as it is merely the 'More C', what guys comment. Perhaps, taking the first priority as Linux, I hope I would not be having bad luck if I starting with C and simultaneously look into the basics of Linux too.<br>
<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I recommend python because it's easy to learn and has a consistent syntax.<br>
The main thing in learning to program is to understand the concepts, so you<br>
want a language where the syntax doesn't complicate things, and python is<br>
perfect for that. Perl's syntax is horrible - stay away.<br>
<br>
Mike<br></blockquote><div> </div><div><br>Well, as you say to understand the concepts first that it correct, but I please let me know if going for python would be a better decision than to go for C?<br><br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
My personal opinion? I would start with c++. (I'm teaching my<br>
daughter to program -- much to her dismay -- and I am teaching<br>
her c++ -- also, much to her dismay.)<br></blockquote><div> </div><div><br>I agree with your decision, but directly learning C++ would not be good but better is to go first through C, isn't it? As you say, C++ is just 'More C'. It is better for the Linux too, I guess.<br>
<br></div><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
You will get many different heartfelt opinions on this -- some justified,<br>
some not.<br></blockquote><div> </div><div><br>Yes of course, because I guess the programing is an ocean and we have to select the one from that ocean (agreeing the fact the the basic understanding remains the same) but due to wide range of varieties, everyone says according to his own taste and I never say he/she is wrong in his/her decisions, it is his/her own experience he/she shares and true also.<br>
<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
If your goal is to better understand the underlying machine, then I<br>
would definitely start with c++, as it's the closest to the machine<br>
(among reasonably common, modern, high-level languages). It is<br>
(nearly) a superset of c, and, in general, a more expressive language<br>
than c, so I would recommend it over c. The lower-level constructs<br>
of c are closer to the machine than the higher-level constructs offered<br>
by c++ (and preferred stylistically in modern c++), but these c-style<br>
constructs are available to you in c++ (as it is a near superset of c).<br></blockquote><div> </div><div><br>Agreed.<br><br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Note, if you want to get even closer to the machine, you can use<br>
assembly language. Many c++ compilers support (as a non-standard<br>
extension) the ability to insert assembly language fragments (e.g.,<br>
using "_asm" in g++, the gnu c++ compiler that you can install<br>
on ubuntu).<br></blockquote><div> </div><div><br>I don't want to go much closer to the machines that I would have to learn an assembly language but the meaning of my saying 'understanding machines' if I elaborate would mean to know the basic of programing so that a code could be generated. Yes, you are not wrong, but C/C++ would be cool, I assume too.<br>
<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Linux is written in c, so the core operating-system api it exposes to<br>
you is a c api, and is directly available to you in c++. So if you want<br>
to write programs that interact with the linux os in a significant way,<br>
c++ (or c, of course) is the way to go. (The same is true of the windows<br>
os.)<br>
<br></blockquote><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
K. Frank<font color="#888888"><br></font></blockquote><div> </div><div><br>But I guess starting with C is the best, what you say? Directly should go for C++ or from C and then C++?<br><br></div></div><br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I second that, what do you want to do?<br>
<br>
For my own needs I used tcl/tk. RealBasic is not a bad RAD tool, object<br>
oriented, but it's not open source and it's not even clear if the Linux<br>
version is still free, but then it's portable.<br>
<br>
I don't like C-like syntax myself, and had many bad experiences with Java<br>
(would run nowhere, always missed this or that library, jar file, etc...) but<br>
others will certainly have another opinion.<br>
<br>
Another question would be: how far do you want to go? I program for myself, so<br>
that's different from developping apps for others.<br>
<br>
Thierry<br></blockquote><div><br><br>Yes, I also want to program for myself only. But not to develop the large apps or for any organization but to have a understanding of the code only. I wonder you don't like C, the base of all the languages, I guess that C is the primitive language or the base of programing world, as I reached to this conclusion!<br>
<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I?d also recommend Python and this book<br>
Mikehttp://<a href="http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/" target="_blank">www.briggs.net.nz/log/writing/snake-wrangling-for-kids/</a> don?t<br>
be put off by the '..for kids', it really is good if you?ve never done<br>
any/much programming.<br>
<br>
Python's ok, but Ruby would be my recommendation.<br>
<br>
Best regards,<br>
Bill<br></blockquote><div> </div><div><br>The python books seems pretty cool. I would have a look and see it. If finalized to learn Python, would go through it. But as a guy commented, Python is not that cool as C (but I don't know why he said like that). It is his own opinion and I know different ones would have different opinions.<br>
<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> join a development team for one of the Gnu applications and<br>
contribute while you learn and are mentored.<br></blockquote><div> </div><div><br>Can you please let me about how to about the various development teams and join one of them? Same like I joined the ubuntu user list?<br><br>
<br><div></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Give us your motivation, and we can better help.)<br></blockquote><div> </div>
<div><br>Again I would say:<br><br>I have been away from the ocean of programing language, but (apart from
my job) I am trying to start learning a new language (for the sake of
interest to know more about the technology), so wanted to understand the
the basic principles keeping in my mind that I have to learn Linux in
future, of course because of its thousand times for security as compared
to the Windows OS. So as in future, I would be turning towards Linux, I
guess C would be good (based on the suggestions of the community
members) though I always understand that there are principle which are
to be grasped at first and these are same irrespective of the language
adopted via interest. Possibly, C++ would not be that easy to start with
(without knowing C!!) as it is merely the 'More C', what guys comment.
Perhaps, taking the first priority as Linux, I hope I would not be
having bad luck if I starting with C and simultaneously look into the
basics of Linux too.<br><br></div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Here's a break
down of some by popularity:<br>
<a href="http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-la%0Angauges/" target="_blank">http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-la<br>
ngauges/</a>
<br></blockquote><div><br><br>This link is quite interesting, giving the status!<br><br>
</div></div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Your second paragraph screams out for Bash. For cut-and-paste utility<br>
programs, Python has a very large library of useful modules. But, Ruby<br>
is cleaner, prettier, and closer to true OOP. The Cadillac of OOP is<br>
Smalltalk, my favorite all time language, but totally useless for what<br>
you say you want to do :)<br></blockquote><div> </div><div><br><span class="gI"><span class="gD" style="color: rgb(91, 16, 148);"></span></span> Albert, if you say for Bash, I don't know but ask if it is an independent language like C or just supporting scripts for Linux?<br>
<br><br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div bgcolor="#ffffff">
I'm going to have to look into Python. Years ago, before you could
buy or get for free a whole batch of scientifically-related<br>
software, folks in engineering and some other disciplines wrote
their own code to solve cumbersome, repetitive calculations.<br>
Those who were in school a bit later than I studied Fortran, and
used that. It's complicated, and I never learned any of it.<br>
Most of us, in those ancient days--when your mainframe was a
half-continent away and connected to your model 35 Teletype<br>
machine by an acoustic modem, used BASIC. This was not a terrible
language, no matter what anyone says. It suffered mainly from a
lack of the "case" statement. In 1983, I went on to learn
Pascal--the kind without graphics--and found it quite useful to do
the same sort of work. It suffered from a difficulty of writing control
code; that's where C and C++ came in. I would think that for<br>
general purpose use nowadays (not knowing Python) that C and its
offspring would be the most widely accepted language for<br>
doing almost anything. It's not as clear-cut as Pascal, which is
fairly rigidly constrained--an advantage, in my opinion--but<br>
it's the language that most professional code seems to be written
in, from control of CPUs and microprocessors, to Windows<br>
and Linux and the other Unixes. Also, if you ever desire to progress
to a work situation that requires coding in a common language, <br>
C and/or C++ would almost surely be it.<br></div></blockquote><div><br><br>Yes, many members suggest me C over Python too, for the beginners but as someone claims Python is simpler and faster and not that low level as like C, the mother of many languages!<br>
<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div bgcolor="#ffffff">
One of the responders mentioned syntax: I just took a course in
Bash programming, one of the most commonly used languages <br>
of the Unix/Linux operating systems, and the syntax of that is also
pretty rough. If you don't need it, then don't do it. (If you do<br>
need it, you will have to just put up with it. (Bash, the "Bourne
Again Shell" is an outgrowth of the Bourne Shell, from earlier<br>
Unix days; the other two common ones are the C Shell and the Korn
Shell.)<br>
<br>
--doug--<br></div></blockquote><div><br><br>Oh. I guess, for the first step into the program, C over weighs bash.<br> <br></div></div></div></div><br><div class="h5"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
</blockquote></div>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
As one of the older guys, I also would start to point to FORTRAN. It is
not a good language for those who are not very disciplined but it is the
"Mother of all computer languages" and many of the principles for good
programming are incorporated. However, it's largest deficit is the lack
of dynamic structures (arrays) but it is very efficient and fast.<br>
I personally like PASCAL with it's Linux dialect Lazarus. The greatest
advantage is the strict type-checking and checking of array limits for
that reason I don't like C and its derivatives as it invites sloppy
programming but I know I'm a minority.<br>
Perl is not a compiled language but an interpretor just like basic and
script languages and therefore not well suited for large programs.<br>
Actually all the other languages like Python, Java, Ruby, Delphi, etc.
are all meta-languages: wrappers around lower level languages (mostly C
for Perl. Python, Java, Ruby and Pascal for Delphi).<br>
And as others has told you it is not important which language you take,
it is only important to learn programming principles, eventually you
choose the language you can yourself familiarize with.<br>
My 0,02 €.<br><font color="#888888">
Joep
</font></blockquote><div><br><br>In this ocean, I came to the conclusion of 'C', I think is the oldest daughter of FORTRAN, the mother of all computer languages. <br></div></div><br><br>-- <br>Regards,<br>Parshwa Murdia<br>