Learn Programming - No Prior Experience Needed

  • Thread starter welatiger
  • Start date
In summary: Python is my favorite language. :)In summary, if you are looking to learn programming and make programs, it is recommended that you pick a language that seems right for you, such as Python. There are many tutorials and resources available for Python, including on python.org. Other possible languages to consider are Java, C#, and C++, but it is important to choose a language that you feel comfortable with. Visual Basic and VBA are not recommended for serious programming, and languages like FORTRAN and assembly are outdated and not ideal for beginners. Ultimately, the best way to learn is to dive into a language and practice, with resources like tutorials and books to guide you.
  • #1
welatiger
85
0
How i can learn programming and make programs
I'm a zero level programmer
 
Technology news on Phys.org
  • #2
Pick a language that seems right for you, then find a tutorial or a book.

If you have no idea which language to begin with, I would suggest Python.

There are many tutorials on python.org that you can read. If you get stuck, feel free to ask a question here!

- Warren
 
  • #3
thank you very much
hopping other members to give me their opinions
 
  • #4
Some of the more common languages:

python - scripting language, recently created and popularized. contains built in libraries and stuff that are optimized, but programs not terribly fast overall. relatively easy to get started programming and making games in, so I hear. Recommended by many.

java - high level object oriented; easy to learn and use, cross-platform, not very fast. comes with lots of build in data structures and stuff. garbage collected so you don't have to worry about memory management. good with web junk but not good with graphics. I hate this language.

C# - sort of like a mix between Java and C++. very enjoyable to program in, very easy to create windows forms and integrate with DirectX for 3D graphics. Made for Windows but semi-cross platform due to Mono. comes with lots of built in data structures and stuff. garbage collected, moderate speed. This is my recommendation.

Visual basic and VBA - Sort of like simplistic, dumbed down version of C# that is very annoying to program in. Not recommended.

C++ - high level language, the biggest feature is template meta-programming that allows generic code that is also highly efficient. comes with STL for some basic data structures. takes a lifetime to master, but worth it. manage your own memory (as with all the rest below). not recommended (unless you are planning to become a serious programmer).

C - old and archaic. more simplistic and older than C++, lacking in high level features, does not provide data structures. excessive use of pointers makes bugs more likely. C programs often more efficient than C++, but not inherently so (C++ can be faster due to templates). not recommended.

FORTRAN - very old, very archaic. not recommended for you.

assembly - programming directly at the level the processor understands. other languages are translated into this, but it can be programmed directly (not recommended for you).

Haskell / Lisp / Ocaml - functional languages, recommended that you get a lobotomy and replace your brain with a wad of rubber bands before using these.

Ruby / Perl / Lisp - every now and then people claim these languages are amazing and can lead to huge performance increases. My reply: don't be fooled.

Prolog - academic ******** language with no value

Pascal / COBOL - some other compiled languages you might hear that I don't care about.
 
  • #6
welatiger said:
How i can learn programming and make programs
I'm a zero level programmer
You could download Emacs and use it to write your programs in the language you want.
As it has already been said, there are a lot of free tutorial on the web. Try google.
Maybe a book on a specific language can also be a nice resource.


FORTRAN - very old, very archaic. not recommended for you.
I wouldn't put it as so bad. For instance read the intro of this wikipedia link http://en.wikipedia.org/wiki/Fortran and you can imagine it as not being a bad program to learn. It depends on what kind of programs you want to create.
I enjoyed to learn the basics of Fortran 90 as my first knowledge on programs.
Good luck.
 
  • #7
junglebeast said:
Visual basic and VBA - Sort of like simplistic, dumbed down version of C# that is very annoying to program in. Not recommended.
Wow, that's harsh. I agree that C# is enjoyable to program in, but to say that Visual Basic is a simplistic dumbed down version of it is simply not true. And to say that it is annoying to program in is a matter of opinion. The current version of VB is a powerful programming language, in addition to being easy to learn. Anything that can be done in C# can be done in VB. It's simply a matter of preference. They both compile to the same CIL code and they both run under the same dot net framework. The only reason I would recommend C# over VB is that C# is the "in style" programming language. In fact, that was the only reason I learned C#. VB is generally looked down upon by many programmers for unwarranted reasons, as demonstrated by the quoted poster.

I agree that VBA is not a good recommendation. It is not a standalone programming language. It is intended as a macro programming language to be used only within a host application, such as MS Word and Excel. However, it's worth mentioning that once you learn VB it will be easy for you to use this tool within those applications.
 
  • #8
If you're starting out, I think VB or scheme would be good before you move on to other languages. These 2 will teach you the general structure of computer programs and how coding works. I'm not very good myself though. (I learn C++).
 
  • #9
If I where you I'd get right into Python. Its a well designed Object Oriented Programming (OOP) language and is very gentle on novices. It will learn you good programming habits and if you're serious about programming, you can easily transfer what you have learned in Python to say C++.

What you'll need is a Python interpreter which you can get here: http://www.python.org/download/ . Then here are some good tutorials:

http://www.diveintopython.org/
http://wiki.python.org/moin/BeginnersGuide/NonProgrammers
http://docs.python.org/tutorial/index.html

I saw in another post people saying Dive Into Python is only for experienced programmers but I still recommend it.
The python docs is a little confusing because it is such a large list of python's features but is really useful.

Well then good luck.
 
  • #10
May I also give you some advice. For zero level programmers it can be very difficult at first to understand certain things about programming and when they've only read like 20 pages they decide to give up. My best advice for you to is to think of a problem you would like to solve, could be something simple which has probably been done already but you've never turned it into a program. To solve that problem and make your program your going to probably need help and so you will use google and probably come on forums such as this one and ask for help.. so finally then at the end of solving the problem... you will have the program to prove you solved it and also you probably have learned about something that if you had read in a book you wouldn't have a clue.
 
  • #11
I use Perl, but hear that Python is easier to learn.

You can also try using a spreadsheet program to get the idea of how to lay out data and computations to get a desired result.
 
  • #12
XF1 said:
May I also give you some advice. For zero level programmers it can be very difficult at first to understand certain things about programming and when they've only read like 20 pages they decide to give up. My best advice for you to is to think of a problem you would like to solve, could be something simple which has probably been done already but you've never turned it into a program. To solve that problem and make your program your going to probably need help and so you will use google and probably come on forums such as this one and ask for help.. so finally then at the end of solving the problem... you will have the program to prove you solved it and also you probably have learned about something that if you had read in a book you wouldn't have a clue.

I totally agree with you, but what I think you're trying to broadcast to our newcomer here (in a more newcomer-understandable) is: WRITE PROGRAMS!
Don't just bubble through tutorials. Solve problems that interest you. And if you're done with that one, solve another one. But DO read the tutorials and use what you have learned in the tutorial in your programs and to solve your problems.

But MUCH more important than reading tutorials is reading code.
Read other people's code and try to make sense of the code you can't understand.
If the code is hard, quote is well to help you understand. This way you'll find out what you current limits are and to know what parts of the tutorial you should read.
 
  • #13
junglebeast said:
C++ - high level language, the biggest feature is template meta-programming that allows generic code that is also highly efficient. comes with STL for some basic data structures. takes a lifetime to master, but worth it. manage your own memory (as with all the rest below). not recommended (unless you are planning to become a serious programmer).

C - old and archaic. more simplistic and older than C++, lacking in high level features, does not provide data structures. excessive use of pointers makes bugs more likely. C programs often more efficient than C++, but not inherently so (C++ can be faster due to templates). not recommended.

Somewhat biased...C++ is more mid-level than high level. C is not archaic, it is still in widespread use today. From experience bugs are equally likely in C and C++, its the coder, not the language that makes the bugs. I would personally recommend C, it is a great language and you will be needing it if you want to work with C++. C should (and is) used in low level coding, and anything higher you may want to use C++ or an other language.
 
  • #14
I wouldn't put it as so bad. For instance read the intro of this wikipedia link http://en.wikipedia.org/wiki/Fortran and you can imagine it as not being a bad program to learn. It depends on what kind of programs you want to create.
I enjoyed to learn the basics of Fortran 90 as my first knowledge on programs.
Good luck.

The only reason fortran is still used in those areas is because physicists are not programmers. Fortan is an archaic and poorly designed language. I can see it being used as an initial stepping stone due to its extreme simplicity but I think C is a better choice for that. It's much more difficult to program any serious program in and will require substantially more code to get anything done, and it will not even teach the basic concepts that are necessary in order to be a good programmer in today's world, such as the use of generic types. I do not think it should not be recommended to new programmers unless they are specifically interested in integrating with people in the physics community that insist on using this outdated language, or they have need of LAPACK.

Wow, that's harsh. I agree that C# is enjoyable to program in, but to say that Visual Basic is a simplistic dumbed down version of it is simply not true. And to say that it is annoying to program in is a matter of opinion. The current version of VB is a powerful programming language, in addition to being easy to learn.

It is difficult to program in because of all the features that they designed in an attempt to make it "easy." I find that the lack of strict typing makes it very easy to get bugs and encourages inefficient programming, overuse of words instead of brackets make code less readable and increase the probability of syntax errors, and although it is capable of many things, it is very disorganized making it very difficult to learn...so the net result is a very difficult to use and inefficient language, with the only benefit being a close integration with Microsoft products like Access.

Somewhat biased...C++ is more mid-level than high level. C is not archaic, it is still in widespread use today. From experience bugs are equally likely in C and C++, its the coder, not the language that makes the bugs. I would personally recommend C, it is a great language and you will be needing it if you want to work with C++. C should (and is) used in low level coding, and anything higher you may want to use C++ or an other language.

C is not bad, but C++ is nearly a perfect superset of C. This allows one to start learning C++ and using only the basics at first, and then gradually they can adopt some of the more powerful features that are only in C++, allowing them to expand as a programmer at their own pace. If they are instead using pure C, they start out the same way, but the transition into full fledged C++ power will require a conscious shift from one language to the other.
 
  • #15
The only reason fortran is still used in those areas is because physicists are not programmers. Fortan is an archaic and poorly designed language. I can see it being used as an initial stepping stone due to its extreme simplicity but I think C is a better choice for that. It's much more difficult to program any serious program in and will require substantially more code to get anything done, and it will not even teach the basic concepts that are necessary in order to be a good programmer in today's world, such as the use of generic types. I do not think it should not be recommended to new programmers unless they are specifically interested in integrating with people in the physics community that insist on using this outdated language, or they have need of LAPACK.

I disagree here. Fortran is used because it can be better optimized than other languages such as C. Fortran also has been used for a long time leading to a huge inventory of well debugged code.

As far as teaching Fortran ... that's a separate issue.
 
  • #16
You could download Emacs and useit to wrote your programs in the language you want. As it has already been sai there are a lot of free tutorial on the web.try google may be a book on a specific language can also be a nice sources.Thank you.
 
Last edited by a moderator:
  • #17
Some encouraging articles on the internet are written about Liberty BASIC. It should be easier to learn than Visual BASIC. Liberty BASIC works in Windows operating systems. You can find a good community support website, too.
 

FAQ: Learn Programming - No Prior Experience Needed

What is programming?

Programming is the process of designing, writing, testing, and maintaining computer programs. It involves using specialized languages and tools to create instructions that a computer can follow to perform a specific task or solve a problem.

Do I need any prior experience to learn programming?

No, you do not need any prior experience to learn programming. Anyone can learn to code, regardless of their background or education. It does require dedication, practice, and problem-solving skills, but with the right resources and mindset, anyone can become a programmer.

What are the benefits of learning programming?

Learning programming can have numerous benefits, including improved problem-solving skills, critical thinking, and creativity. It can also lead to career opportunities in various fields such as software development, data science, and web design. Additionally, programming can be a fun and challenging hobby.

Which programming language should I learn first?

The best programming language to learn first depends on your interests and goals. Some popular languages for beginners include Python, Java, and JavaScript. It is recommended to research the job market and consider which language may be most useful for your desired career path.

How can I start learning programming?

There are many resources available for learning programming, such as online courses, tutorials, and coding bootcamps. It is also helpful to practice regularly and work on personal projects to apply your skills. Additionally, joining a coding community or finding a mentor can provide support and guidance as you learn.

Back
Top