Solved

learn programming

Posted on 2017-03-20
8
29 Views
Last Modified: 2017-03-20
hello experts

can I know the best and simple way to learn any program language such as C, C++ or even java ?
I graduate as IT but until now I could not catch these types of programming because too many codes too many difficult things and I hope one day become like you solve and help other problems,
I searched and read your answers to the people who are like me and I found you guys have a good knowledge in programming specially java and C++.
how do you learn these programs I mean what way did you follow to make it easier for you to understand.
I hope you give me a simple way to start from as I'm human like you :)

Thank you experts,
0
Comment
Question by:taha agamal
8 Comments
 
LVL 15

Assisted Solution

by:John Tsioumpris
John Tsioumpris earned 250 total points
There is no single -simple way to learn programming...its all up to you...
My proposal -given the fact you are an IT graduate- is to start with C plain simple C...grab a good book and write down the examples ...DON'T copy paste them...write them by hand...even the simplest ones...
After you have a good initial understanding then its time to move on...
You have 3 paths
either choose C++ and stick with this...it is by far the most challenging and hard choice but good knowledge of C++ will always guarantee a good job offering...C++ is just the rock solid timeless value in computer programming
OR
go to the managed side and take C# and enter the world of .NET
OR
you can learn JavaScript which is by far the hottest language right now in the job market (along with the accompanying Web technologies).
1
 

Expert Comment

by:ktsenapathy
HI, taha agamal,

If you have a good or some basic concept about the m/c architecture, like instruction set / bus width etc... then start with C/C++.  The reason I say this is because some of the cryptic ideas has a very logical sense if you know the fundamental platform well.

Else I would suggest to use other fairly high level prog.lang like Java.  If you want a quick start, I would suggest Python.  After having 15+ yrs of exp on c/c++/java, I recently started learning Python and starting loving this.

Python is more English like and less cryptic syntax, yet very powerful.

How to learn a language -->

1. try basic simple programs as much as you can.  Like print statements.  Simple programs, like factorial calculations, printing an triangle of stars(to learn basic for loop syntax).  
2. participate programming challenges site like hacker rank / hacker earth sites and complete those problems
3. read programming question sites like expertsexchage/stackoverflow etc...
4. try some mini projects

Hope this helps,
Sena
1
 

Author Comment

by:taha agamal
Thank you very much Mr.John
 your words is really teachable and easy to understand. you gave me a really hard choices because I want to learn it all :)
all is useful and very interesting
can you please explain more about the different between javaScript and C#

thanks a lot master.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 50

Expert Comment

by:Ryan Chong
how do you learn these programs I mean what way did you follow to make it easier for you to understand.
not really an absolute answer, but this usually work for most of the people. you may need to have passion + diligence + intelligence

passion so that you will keep learning
diligence  so that you know you can do it
intelligence so that you understand what is showing and what you have learned, and reuse it in other scenarios, usefulness of the knowledge, etc.

you need time to adjust and review the learning tactics but sometimes we just lack some of those pieces to make things work...

so, for myself, i would try to build my own knowledge base... whether I will store the useful knowledge somewhere so that I can refer back to when necessary, or I try to conduct more practices in order to make something success.

this applies to all things we want to learn, not just limited to programming.
1
 
LVL 15

Assisted Solution

by:John Tsioumpris
John Tsioumpris earned 250 total points
I am note sure what you mean by  different between javaScript and C# they are 2 different languages with different philosophy but at the end you will see that every language you try to learn requires just one (1) single thing...to master just 1 language no matter which...
Lets say that you master X language and you try to learn language Y....we assume that you have mastered X language....and then you come to world of Y language....and you start to code...you don't know anything about Y language but you do know about control flow,loops,data structures...etc. and you just find the appropriate syntax to perform that..it will take a while but not that long...
And yes going from a procedural language to object oriented to functional is hard but you can always code the style you know and make the necessary investments in time to jump to the next level...
1
 
LVL 29

Accepted Solution

by:
pepr earned 250 total points
In my opinion, there are two extreme ways to learn programming (and more ways in between).

The first one is based on understanding what is a computer, what is RAM, what is bit, what is byte. What is a storage media (disk), what is a processor, how the instructions look like. Then, what is a program, what is a process, what is a data structure, what is a file. How a byte or more complex data structure is represented in memory, what is an memory address, what is a pointer, what is a reference, what is a counted reference, what is a statically allocated memory, what is a stack, what is a memory allocated on the stack, what is a dynamically allocated memory. What are programming languages, how the constructs are translated to the above mentioned things. What is a loop, what is a procedure/function, why OOP was introduced.

With respect to that learn the very basics of C (a bit of syntax, memory allocation, basic loops through arrays, getting touch with an address, peeking into memory, learning what a pointer is, how it can and should be used, what are the dangers), and stop.

Then learn basics of Python (easy to get, easy to start with, nice syntax, understandable, quite capable, quite powerful (fast) for that category of languages, much higher level abstractions, trade-offs that makes the language simpler to use at one side, but slower at other side of the coin. As a hybrid language, you can learn how to create the plain blocks of code, how to define functions, how to declare classed and use the OOP. Think about how to map what you have learned from C to the Python case, what is hidden behind the veil, what constructs are available, what are hidden. Later, you can learn the basics of a functional approach to programming with Python (to understand what does it mean; but there are better languages to use for that kind of programming).

Then peek to C# or Java to compare with Python and C. They are (almost) pure OO languages, unlike Python, and what it really means. What are to pros and cons of pure OO languages, how the missing features are mimicked. (Actually their hybrid nature is only a bit hidden.)

Then start with C++ that is a hybrid language.

The second approach is to download a framework, pick the language, and write a web application without understanding what is done inside. You will get the result fast. Then ask the questions, search for the answers. You will probably gradually follow the first path in a more complicated manner. I cannot tell what is a better approach in today's world. However, once you start with the second approach, your time may be consumed by programming so much that (without some discipline) you may never get the basics deeply and correctly.
1
 

Author Comment

by:taha agamal
THANK YOU Mr.pepr

I really appreciate your help thank you very much you explained what really I need.

thank you master
0
 

Author Closing Comment

by:taha agamal
thank you guys from my deep heart
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Join & Write a Comment

Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question