<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3698" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT 
face=Arial color=#0000ff size=2></FONT><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> users-bounces@lists.fedoraproject.org 
[mailto:users-bounces@lists.fedoraproject.org] <B>On Behalf Of </B>Parshwa 
Murdia<BR><B>Sent:</B> Thursday, December 16, 2010 6:02 PM<BR><B>To:</B> 
users@lists.fedoraproject.org<BR><B>Subject:</B> About programing, a general 
question<BR></FONT><BR></DIV>
<DIV></DIV>hi,<BR><BR>If one has to start from the scratch, from the zeroth 
level to do the programing, which programing language one should start with? In 
the ocean of the languages, to start with is really very typical. Can one 
justify it. Some say Python but again they say it is Perl which is better every 
time then the Python. Some say to start with C or C++ but again some emphasis to 
use Java or C#. Many say to go for .Net and VB or COBOL and some say to learn 
web based programing like HTML, PHP, ASP.Net. In this ocean who is just starting 
to learn which one he should prefer?<BR><BR>Many say that what is the purpose of 
learning, then I say that to have the basic understanding of how exactly we can 
handle the machines like the CPU. Not to generate the big projects for the 
management processes, not even banking system but to know the basic of 
programing like how to handle the machines at the first, for that purpose, for 
the the scratch level purpose and for the one which is good even for Linux, what 
programing language should one like me, initiate?<BR clear=all><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
</DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>To 
avoid religious wars....</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>The 
"best" programming language, is the one you feel most comfortable with, 
obviously.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>Though 
i was lucky enough to avoid basic, i grew up with assembly, C, plm, Pascal, 
fortran, cobol, chill, all sorts of shell's, perl.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>In the 
very old days, if you needed to sqeeze any cycle out of the cpu, you were stuck 
with assembly.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>Some 
years later, the code produced by C-compilers has been getting that good that 
even modest time-critical routines for accessing hardware were 
do-able.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2>Biggest advantage was that code became 
hw-independant.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>Each 
language has/had its own advantages/drawbacks. At one point in time i 
"discovered" the swiss-army-knife of languages: perl. Since then nomore sh 
korn,bourne, c-shell, awk or grep anymore. Though it looks like Python is 
replacing perl currently.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>First 
rush of hobby-level programmers was getting asap "some results", quality was not 
relevant.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2>Specially with basic it is possible to produce spagetty-code. (though you 
can actually produce unreadable code with any language)</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>When i 
left university, they were teaching Pascal at first-years students. It encourage 
you to think about data-structures and so on.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2>Thoughy i understand that in this day-and-age, it has been replaced with 
C++ and Java.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>So for 
really learning coding, i would suggest starting with C, and later on switch to 
C++&nbsp;/ java.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>For 
doing (semi-) production, it's anothert game: see my first line, but it all 
boils down to the same rules.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- get 
to know the hardware-environment you are dealing with (extensive playing, no 
production code)</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- make 
a top-level design (what are the requirements)</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- make 
a detailed design (how are you going to do it)</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- do 
not re-invent the wheel (there are zillions of libraries: use 
them)</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- work 
modular</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- User 
interface? Think about multi-language</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- 
define entry/exit conditions</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- 
define where you check conditions</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- 
timing or race-conditions?</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- use 
a versioning system</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>- 
....</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>So 
actually the programming language is the least of your concern. 
</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff size=2>Coding 
style and practices is all. And stick to it.</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2>hw</FONT></SPAN></DIV>
<DIV><SPAN class=999491210-17122010><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<HR>Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is toegezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico&#39;s verbonden aan het elektronisch verzenden van berichten.<BR>
<BR>
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages.<BR>
</BODY></HTML>