Breaking News
Loading...
mercredi 10 juillet 2013

Learning Programming Languages Made Easy

I am not going to go into detail in defining what programming is because i will assume before entering this thread you should already know what programming is. But in summary programming is the act of creating whatever you want with your brain and computer programming is the act of creating whatever you want with your brain and a computer. You can read more from http://en.wikipedia.org/wiki/Computer_programming

Programmers could also be called software programmers, software developers and other big-big names you can think of.
Feel free to ask your questions, i will try and answer the ones i can my Ogas in the house will help me with those i can't answer

Please every Programmer should try as much as possible to check on this thread once in a while to help answer some questions Newbies would like to ask.


I will try as much as possible to make this article as simple as possible

BRANCHES OF PROGRAMMING

1. Embedded Systems

2. Desktop applications

3. Web Applications

4. Mobile Applications

5. Console applications


EMBEDDED SYSTEMS

An embedded system is a multi-agent system and computer system designed for specific control functions within a larger system, often with real-time computing constraints.It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today examples of devices with embedded systems are telephone switches, mobile phones, personal digital assistants (PDAs), mp3 players, mobile phones, videogame consoles, digital cameras, DVD players, GPS, brushless DC motors, induction motors and DC motors.Embedded systems contain processing cores that are either microcontrollers or digital signal processors (DSP).

I don't know too much about embedded systems but i know embedded systems are created mainly with C and Assembly Language. I will come to programming languages later.

Read more from: http://en.wikipedia.org/wiki/Embedded_system


DESKTOP/STAND-ALONE APPLICATION

An application that runs stand alone in a desktop or laptop computer. such as Opera Browser, Microsoft Office, Corel Draw, Win zip and so on. I am sure you get it. Desktop Applications can run on Windows, Linux, Mac and other Operating Systems. I assume you know what an operating system is ;D
Desktop applications can be created with a variety of programming languages ranging from C, C++, Java, C#, Python, Visual Basic, Visual Basic.NET etc etc etc. They are a lot of them, like i said earlier we will talk of programming languages later on..


WEB APPLICATION

A web application is an application that is accessed by users over a network such as the Internet or an intranet. examples of web applications are Facebook, yahoomail, gmail, Earthsurf etc. Web applications are also created with a range of programming languages like PHP, Python, JSP/Servlets, ASP, ASP.NET, Ruby etc


MOBILE APPLICATIONS
A mobile application (or mobile app) is a software application designed to run on smartphones, tablet computers and other mobile devices. example of mobile applications are opera mini, UCBrowser, Games etc. Mobile Applications run on different platforms such as iPhone, BlackBerry, Android phone or Windows Phone etc. Mobile Applications can be created with Java, Objective-c, c++, C# and so on...


CONSOLE APPLICATIONS

A console application is a computer program designed to be used via a text-only computer interface, such as a text terminal, the command line interface of some operating systems (Unix, DOS, etc.) or the text-based interface included with most Graphical User Interface (GUI) operating systems, such as the Win32 console in Microsoft Windows, the Terminal in Mac OS X, and xterm in Unix. Console Applications can be created with C, C++, JAVA etc




They are a lot of them, but these are the ones that i could think of at the time of writing.. ;D

PROGRAMMING LANGUAGES

1. Java

2. C

3. C++

4. c#

5. Objective C

6. PHP

7. Assembly Language

8. Javascript

9. Visual Basic

10. VB.NET

11. ASP

12. ASP.NET

13. PYTHON

14. Ruby

OTHERS

a. HTML

b. CSS

I will only talk about the ones on BOLD


JAVA

Java
is an object oriented programming language originally developed by
James Gosling at Sun Microsystems (which has since merged into Oracle
Corporation). The language derives much of its syntax from C and C++,
but it has fewer low-level facilities than either of them. Java can be
used to create Desktop Applications, Web Applications, Console
Applications and Mobile Applications.

WHERE CAN I LEARN JAVA??

As with any language i will talk about here, they are tons and tons of
books and articles on the Internet that will teach you any of this
languages from beginner to intermediate level. The rest is upto you...

I will provide as much links to on-line tutorials as possible, but
Google is your friend.

Official Tutorial from Oracle:
http://docs.oracle.com/javase/tutorial/

More

http://www.tutorialspoint.com/java/index.htm

http://www.javatutorialhub.com/java-tutorial.html

http://www.freejavaguide.com/corejava.htm

http://www.javabeginner.com/

Ebooks

http://www.mkyong.com/featured/top-5-free-java-ebooks/


From Youtube:

http://www.youtube.com/playlist?list=PL484D73FA74A11AC9


C++

C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. C++ is one of the most popular programming languages and is implemented on a wide variety of hardware and operating system platforms. As an efficient compiler to native code, its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games.

Where can i learn C++

http://www.cplusplus.com/doc/tutorial/

http://www.tutorialspoint.com/cplusplus/index.htm

http://www.cprogramming.com/tutorial/c++-tutorial.html

http://www.learncpp.com/

Ebooks

http://www.cplusplus.com/files/tutorial.pdf

http://www.isotton.com/devel/docs/lcpp/lcpp.pdf

http://www.danangdk.blog.uns.ac.id/files...torial.pdf

Youtube

http://www.youtube.com/course?list=ECAE85DE8440AA6B83


Python.
Python is a Rapid Application Development(RAD) language which lets you write complex software with less codes.
It is made juicier with the arrays of available modules that makes your programming life fun, easy and exciting.
As a developer, if you pick up python and dedicate say 2 weeks to learning it, You wont go back.

Python is not only addictive but also clean and organized. You can read through source codes written in python and you know what they do right a way.
the syntax design is near perfect as it lets you code without thinking of ending every line with semi-colons, no dollar signs, no var, Dim or the likes.
Python developers here can add theirs.

Official Tutorials

http://docs.python.org/2/tutorial/

Others

http://www.learnpython.org/
http://www.tutorialspoint.com/python/index.htm

Ebooks

http://www.python.org/doc/essays/ppt/lwn...ntro22.pdf


YouTube
http://www.youtube.com/course?list=ECEA1FEF17E1E5C0DA


PHP

PHP is an open source server-side scripting language designed for Web development to produce dynamic Web pages.

http://w3schools.com/php/default.asp

http://www.tutorialspoint.com/php/index.htm

http://www.homeandlearn.co.uk/php/php.html

http://www.quackit.com/php/tutorial/

Ebooks

http://www.files.sawmac.com/dw8/php/phpTutorial1.pdf

http://www.docserve.files.wordpress.com/...torial.pdf



YouTube

http://www.youtube.com/course?list=EC67D94BE42620925B


C#

C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within its .NET initiative. C# is intended to be a simple, modern, general-purpose, object-oriented programming language.

Where can i learn C#?

Official Tutorials

http://msdn.microsoft.com/en-us/library/...s.71).aspx

Others

http://www.tutorialspoint.com/csharp/index.htm

http://www.homeandlearn.co.uk/csharp/csharp.html

http://www.csharp-station.com/tutorial.aspx

Ebooks

http://www.nbende.files.wordpress.com/20...torial.pdf

YouTube

http://www.youtube.com/playlist?list=PL37FF167549C26150


JavaScript

JavaScript is a scripting language commonly implemented as part of a web browser in order to create enhanced user interfaces and dynamic websites.

JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It uses syntax influenced by the language C. JavaScript copies many names and naming conventions from Java. JavaScript is NOT the-same thing as JAVA

Where can i learn JavaScript?

http://www.w3schools.com/js/default.asp

http://www.tutorialspoint.com/javascript/index.htm

http://www.tizag.com/javascriptT/

Ebooks

http://www.tutorialspoint.com/javascript...torial.pdf

YouTube

http://www.youtube.com/playlist?list=PLE79FE1267A2553E2


HTML

HyperText Markup Language (HTML) is the main markup language for displaying web pages and other information that can be displayed in a web browser. HTML is the language of the web. Every other scripting language runs on HTML. HTML is NOT a Programming Language.

Where can i learn HTML?

http://www.tutorialspoint.com/html/index.htm

http://w3schools.com/html/default.asp

http://www.quackit.com/html/tutorial/

http://www.html.net/tutorials/html/

http://www.echoecho.com/html.htm

http://www.tizag.com/htmlT/

Ebooks

http://www.tutorialspoint.com/html/html_pdf_version.htm

http://www.zircon.mcli.dist.maricopa.edu/dl/lessons.pdf

YouTube

http://www.youtube.com/playlist?list=PL4B51C3288CBE0D38


CSS

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML. Again, CSS is NOT a Programming Language.

Where can i learn CSS?

http://www.w3schools.com/css/

http://www.tutorialspoint.com/css/index.htm

http://www.echoecho.com/css.htm

http://www.tizag.com/cssT/

http://www.html.net/tutorials/css/

http://www.quackit.com/css/tutorial/

Ebooks

http://www.tutorialspoint.com/css/css_pdf_version.htm

http://www.filecrop.com/css-tutorial-pdf.html

http://www.bjconsulting.co.za/archive/CS...torial.pdf

YouTube

http://www.youtube.com/playlist?list=PL07454EA7FF8D28AB


ASP.NET
ASP.NET is a Web application framework
developed and marketed by Microsoft to allow
programmers to build dynamic web sites, web
applications and web services.
ASP.NET simplifies developers' transition from
Windows application development to Web
development by offering the ability to build
pages composed of controls similar to a
Windows user interface. A Web control, such as
a button or label, functions in very much the
same way as its Windows counterparts: code
can assign its properties and respond to its
events. Controls know how to render
themselves: whereas Windows controls draw
themselves to the screen, Web controls produce
segments of HTML and JavaScript which form
parts of the resulting page sent to the end-
user's browser.
ASP.NET encourages the programmer to
develop applications using an event-driven GUI
model, rather than in conventional Web-
scripting environments like ASP and PHP. The
framework combines existing technologies
such as JavaScript with internal components
like " ViewState" to bring persistent (inter-
request) state to the inherently stateless Web
environment.
Tutorials
http://www.w3schools.com/aspnet/default.asp
http://www.developerfusion.com/t/asp.net/
http://www.asp.net/mvc


Now the Big Question is: Which Language Should i Start With??

Answer: I DON'T Know, It all depends on YOU

Suggestion

Embeded Systems: Assembly Language and C/C++

Desktop/Stand Alone Application: Java, C/C++, C#, Visual Basic, Visual Basic.NET, Python, Objective-c

Web Application: HTML, CSS, JAVASCRIPT, JQUERY, PHP, ASP.NET, JSP/SERVLET, Python, Ruby

Mobile Application: Java, C++, Objective-C, C# etc


FIRST OF ALL:::
Java: Desktop Apps, Client apps, Server software, games, management utilities
example of software that is written or partly written in JAVA: JAMB Biometric Software, OpenOffice.
C++: Desktop Apps, Client apps, Server Software, games, management utilities, Operating Systems, Compilers, RDBMS, Databases.
example of software that is written or partly written in C++: Firefox, Internet Explorer, Microsoft Office, etc
Python: Desktop Apps, Server management tools, games, management frameworks, RDBMS.
example of software that is written or partly written in Python: Almost any application you use can be written or emulated in Python!
C: Operating Systems, Servers,
example of software that is written or partly written in C: Microsoft Windows Operating System, Linux, iOS, MacOS, Apache Webserver.


Related to the title, this is to answer common questions beginners often ask....
Q1. I want to build Apps that would run on every x86/x64 PC.
Ans: Hardware, and OS are differently manufactured and are also used under varying conditions. It is almost impossible to write one source code that works on everywhere... but that you can have 90 - 100% code reuse depending on what library you are using and what App you are building.
Extra: Example: a simple Calculator, simple equation solver, chat application: then Java is your choice!

Q2. I want to build a UTILITY App that interacts with technicians/administrators and should work on almost all x86/x64 OS..
Ans: Applications that are used for doing some basic computer/data/file management; performing basic testing another application, are software that doesn't necessary require a GUI.. and thus your best friend here is likely to be.... Python

Q3. I want to use the easiest programming language.
Ans: if this is actually one of your question, then I suggest you stick with the old BASIC or QBasic... just kidding... in real world, nothing is actually easy, its just easier to implement something here than there(more on this later). This is based on information I gathered, so, it may not 100% true ...but I guarantee 70%.
Extra: Programming Languages in ease of Complexity(BASED ON HOW HIGH THEY ABSTRACT LOW-LEVEL INSTRUCTIONS)::
Extra: (Maximum Abstraction):VisualBasic -> PHP -> Python -> Objective-C -> C# -> Java -> Erlang -> C++ -> C -> Assembly:(Minimum Abstraction)

Q4. I want to build apps with very beautiful user interface ..not like the usual ones
Ans: Most Software rely on the Operating System's default graphics desktop/Graphical-User System. Its really hard to have your own custom UI because you have to paint or draw EVERY SINGLE PIXEL on the screen, handle events in a harder way... etc. but don't loose hope... to achieve this its good you have knowledge of HTML, CSS, Javascript... and any other programming language. (mind you, you will have a lot of drawings and mathematics to do).

Q5. I want to build games...
Ans: Nice... its a good one. ONLY SMART PEOPLE CAN WRITE a game... so nice one!!
Well, It depends on what type.... but all in all, great games require you to be an expert in GRAPH THEORIES and GAME THEORIES
Mobile phones:: Learn Java
High graphics like Pro Evolution Soccer, learn C++.

Q6. I want to write a general purpose Operating System like Microsoft Windows, Linux, MacOS, etc.
Ans: Its not in ANY WAY feasible for you to write a useable/relevant one in this regard!! Because it's like ONE baby trying to compete in the battle field with 10, 000 20years old WAR veterans. NOT TO Kill your high spirit... go and learn some assembly language first. :-)... after that, if you still wanna continue, then rest assured, many years of your life would sink in to it and you would spend millions of Dollars.

Q7. I am an intelligent fast grabber.. I want to make money from programming in few months time...
Ans: Sorry to disappoint you... that's not really feasible. You would have spent thousands of hours before you can make even a little money compared to your skill-set.

Q8. I want to build the next Facebook
Ans: Simple, learn HTML, AJAX, Javascript, php, C++, C, Erlang, Java... and get $1million USD ready... thats what you may need for a reasonable start... And pray you succeed. ...but if you are not convinced by the requirements, at least learn the programming languages first!!!

Q9. I do not know what I want to do/I want to learn any
Ans: I suggest you go and find a definition of what you want in life.... Kiddan.... Ummmm... Throw a fair coin... it may help you decide.....

0 commentaires:

Enregistrer un commentaire

 
Toggle Footer