RE: About programing, a general question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 


From: users-bounces@xxxxxxxxxxxxxxxxxxxxxxx [mailto:users-bounces@xxxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Parshwa Murdia
Sent: Thursday, December 16, 2010 6:02 PM
To: users@xxxxxxxxxxxxxxxxxxxxxxx
Subject: About programing, a general question

hi,

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?

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?


 
To avoid religious wars....
 
The "best" programming language, is the one you feel most comfortable with, obviously.
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.
 
In the very old days, if you needed to sqeeze any cycle out of the cpu, you were stuck with assembly.
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.
Biggest advantage was that code became hw-independant.
 
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.
 
First rush of hobby-level programmers was getting asap "some results", quality was not relevant.
Specially with basic it is possible to produce spagetty-code. (though you can actually produce unreadable code with any language)
 
When i left university, they were teaching Pascal at first-years students. It encourage you to think about data-structures and so on.
Thoughy i understand that in this day-and-age, it has been replaced with C++ and Java.
So for really learning coding, i would suggest starting with C, and later on switch to C++ / java.
 
For doing (semi-) production, it's anothert game: see my first line, but it all boils down to the same rules.
- get to know the hardware-environment you are dealing with (extensive playing, no production code)
- make a top-level design (what are the requirements)
- make a detailed design (how are you going to do it)
- do not re-invent the wheel (there are zillions of libraries: use them)
- work modular
- User interface? Think about multi-language
- define entry/exit conditions
- define where you check conditions
- timing or race-conditions?
- use a versioning system
- ....
 
So actually the programming language is the least of your concern.
Coding style and practices is all. And stick to it.
 
hw
 

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's verbonden aan het elektronisch verzenden van berichten.

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.
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux