Solved

learn programming

Posted on 2017-03-20
8
103 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 17

Assisted Solution

by:John Tsioumpris
John Tsioumpris earned 250 total points
ID: 42055201
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
ID: 42055219
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
ID: 42055229
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 52

Expert Comment

by:Ryan Chong
ID: 42055239
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 17

Assisted Solution

by:John Tsioumpris
John Tsioumpris earned 250 total points
ID: 42055244
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
ID: 42055263
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
ID: 42055288
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
ID: 42055291
thank you guys from my deep heart
0

Featured Post

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

691 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