You are invited to Log in or Register a free Frihost Account!

New to programming, which language do I choose?

Hello everyone! This is my first post in frihost, the forums are very nice!
Recently, I've been thinking about learning any programming language, but I got stuck in which should I choose to focus on. A long time ago, I've learned the very basics of coding, which happened in Pascal environment (yes, it was a LONG time ago), and recently I got interested in python, because the structure seems easy to me. Is it a good beginning or should I go straight to C? I plan to develop cross-platform programs (Windows and Linux) as well.
Thank you in advance for your opinions Smile
First of all welcome to Frihost.

If you feel Python is simple means,then try it.
After you had interest in programming language,move to C.
Some of my classmates in my computer science classes transferred from different universities, universities that use Java instead of C/C++ in the introductory classes. They had a hard time switching over to C/C++. ... If you can learn how to use C/C++, you can write programs in just about any language.

With that said, I'm in a Python class this semester and it's much easier to use than C++.
Python is a good introductory language as it's easy to break into but I think definitely either Java or C is better because many languages from there will have similar syntax, constructs and other similarities.

I first went into programming learning PHP actually since I did web designing and so naturally PHP became the next step. I used it to learn basic programming practices on my own like loops, conditionals, recursion, arrays and such. Then I actually took two classes at a community college one where I learned C and one where I learned Java. I have to say C is FAR more useful to learn because of the sections on memory management and pointers and addressing make you understand a bit better about the computer architecture (not a whole lot depending on how much C you learn but enough that you become more aware of memory management).
Depends are you developing web, mobile apps or desktop. What do you plan to do?
I've heard that python is quite easy. That's what I'm gonna start with.
C/C++ would be my choice. Good cross platform language.
If you are into web development then PHP and HTML are the best place to start. HTML is the world's easiest langauge which use for creating web site interfaces (site designs) and PHP is a scripting language which can use for backend / server side programming.

Since PHP is a not a commercial product you can find tons of codes written in PHP as well as tutorials and all the help you might need. Most of open source scripts you find online are written in PHP. So knowing little bit about PHP is a must for web designer as well as a web developer.
If you're planning to develop cross-platform desktop applications, and are looking for a nice simple language, I would definitely recommend Python.
Radar wrote:
If you're planning to develop cross-platform desktop applications, and are looking for a nice simple language, I would definitely recommend Python.

I second Python!
billiebr wrote:
... and recently I got interested in python,...

I just finished an online Python course at - Building a search engine. It was pretty easy, some of the homework was challenging. I've done a fair amount of programming but had no experience in Python. I'm signed up for two more classes there (they're fee). Worth looking at.
Based on my experience, I would recommend to learn Java, which you may use on Server side as well as Client(Swing, Web).

Also, take into account, new frameworks, which use them more effectively and used mostly in the market. Even, if Java is used on Server side, you may also learn Webservice to build interfaces to different environments like Web or even Mobile.

Even, for Mobiles, I would recommend not to start with the individual languages and rather searching upon a framework, which assist you to even generate Native code for IOS(Apple), Android(Google), Nokia(Symbian) etc. To be more specific, try
i'd always recommend you to start with bare bones C.

you don't need to go too further, learn the basic, take a tutorial on logic, variables, loops and conditionals, some basic console interaction , try and understand how that works

my motivations for that sugestion are:

when you begin it's not about the applicability, is about understanding the basics, C is one of the fathers of modern programming languages.

C like syntax is used in many languages (PHP,java,C++,C#) , and even if you go Delphi,Ruby,Python it's not a waste to know.

it's normal for your first few programs to become tiresome, but if it is unbearable from day one it's not a carreer path you want to follow.

only then choose what do you want to do. web,deskto, mobile? the world is yours
I hate to say this but it is not possible to learn programming language on your own or just by reading a book, tutorial etc.
You can go only so far with that.
Understanding the fundamental of the computer programming is important. I recommend to enroll into the programming course if you are serious about taking it as a career. I can vouch that it's a exciting profession with lots of opportunity.
If you want to go deep into programming, start C or C++ otherwise python, ruby or even PHP can be a good choice.
you need to choose what kind of projects you would like to do, and then choose programming language... language is just a tool
In all sincerity, it all depends on what you want to do with it. You're basically looking for a tool, and every single tool is better than others for some specific job.

Python (to which I'm very partial to) is sort of good for most things, but if you were, say, interested in learning how to program (just to program, not to program in a language) I'd recommend you go for something more opinionated, like Java and its ilk (clojure, grails).

If, on the other hand, you've grasped the basic concepts of modern programming and want a clean, general purpose language that doesn't get in the way between your ideas and you, go for python
While it's true that the programming language is just a tool, I think you can better set yourself up for learning what you need to learn by starting with something like C++ or even python, because you will have to learn the fundamentals in order to use them.

I would start with an object-oriented language, too. Then move into web development.
I've learned the very basics of coding, which happened in Pascal environment

and even if you go Delphi,Ruby,Python it's not a waste to know.

Indeed.. I would say if you've ever used Pascal, when you liked it, why not return to it.. go Delphi and Object Pascal, the newer versions support up to W8, there is Lazarus for Linux, newer versions do OS-X (from a PC!).

I've been a professional programmer using Delphi for about 13 years now. Before that, I used C and C++. My new employer forced me to go Delphi, because he prototyped part of the system in Delphi before I arrived.

I got convinced, he was right.. I still like it Smile

The problem with these wizard compilers (C and C++) is that most reserved words and operators are very tiny and short. Also, it allows a lot of freedom in conditional expressions and even conditional declarations. A modern C++ programmer uses templates on top of that. Because everything looks so compact, you tend to write tiny and short variable names too.. this makes your code incomprehensable. The Pascal syntax, with clear BEGIN-END blocks, is read much easier. This has more advantages: suppose you'd have to hand over / communicate your source code to some customer, or a collegue.. I'd prefer something readable to do that ! Also Delphi is RAD (Rapid App development) and made for bigger projects with more than 1 programmer taking part in the programming. Also, it has solid grounds when you use UML to design your stuff. When done in sufficient detail, you can generate code, directly from the diagram. This tool is Modelmaker.

All this has been available since.. 2002 or so ? With the socket library I could write a little web server in 1999.. within 2 weeks..

EnterpriseTech wrote:
If you can learn how to use C/C++, you can write programs in just about any language.

True. But just do not bring any C habits into PHP~ Wink No printf no strcmp, we have echo, "." and "==". Wink
I think C is a great language to start from. Yes, it is difficult and not as "friendly" as other languages. However, if learnt correctly, it can form a base to learn other languages and techniques. I would then recommend going into C++ to learn the basic object oriented approach to programming. Although C is fine for learning, C++ is a lot more flexible and useful for creating real-world applications, because of the OOP approach. Besides, they are very powerful languages and putting in the effort to learn them is definitely worth the effort.

We learned a bit of QBasic in school. It was easy and quite fun. That's when I fell in love with codes. Then at the university level, we were taught the C language. Slowly, we transitioned into C++. We are doing many projects. I have also started developing Windows 8 apps using C#. All in all, I find that programming is all about logic and creativity rather than syntax. Hence, you can start with any language and the techniques you learn there will be useful in other languages as well.
In my opinion C/C++ are not used anymore.
Maybe C#/.Net . And you find job easily if you know Java.
ninacax wrote:
In my opinion C/C++ are not used anymore.

This is not about opinions. They are still used and keeps evolving. The latest C and C++ standard was both released in 2011.
In my case, PHP has been the best language to start programming.
You can easily make your own web pages and so your work can be seen immediately.
When languages ​​such as C, C + + or Python is concerned, this is not the case.
In my opinion, C is the place to start. I started programming using C and find it quite easy to learn new languages with my C background. Programming isn't about creating fancy user interfaces by dragging-and-dropping controls from a toolbox: that is just the topping. But before applying topping, you need some cake to put it on. If you don't know how to bake the cake, you'll never create a fancy one. C gives you a good foundation.
Navigator wrote:
Depends are you developing web, mobile apps or desktop. What do you plan to do?

i agreed. i suggest PHP you can do almost everything on this language plus its open source. Before programing language can be counts on my hand but now there to many, i guess it needs specialist now.
In my opinion, I would recommend to learn C, It is very convenient to start
then move to and Java
I would recommend Python, as it allows you to do most things you want to do. Also, if you want to make desktop programs, I would recommend downloading SharpDevelop, which supports Boo (similar to python) and IronPython (exactly like Python.) I would also recomment learning Javascript, as it is a simplified version of other languages in the C family (brackets, objects, somewhat static typing.) I would stay clear of [ur]Malbolge.[/url]
i would recommend pyton as it is easy to learn and you can learn basics of oop too if you are not familiar with it. I too started programming with basic and 6502 assembly back in the 80's. In the past 20/25 years much have changed so i had to start somewhere again. Python was an easy start then c++ and java/javascript. If you want to get in to web programming after learning python stick with (HTML -> JAVASCRIPT -> JQUERY -> PHP(or ASP) -> whatever you wish(Java maybe?)) if you are not planning to make websites start with a scripting language like python (as its easy to learn and powerful enough) then continue with c++ for desktop applications, java for android phones&tablets or objective-c for iphone/i-pad/mac applications. I advise you to stay with the mainstream languages.
I recommend learning Javascript. Although it is difficult when you are first starting, it is easier than other programming languages. It is also useful because it can be easily integrated with HTML. You can learn Javascript at CodeAcademy ( I recommend creating an account so that you can save and track your progress. You can also learn other programming languages as well at the website.
If you are aiming for cross platform development than I think C or Python would be a better choice.
Python is a good starting language.
I'm now learning php
I am now learning javascript wich is pretty good I think.
Python is really easy to learn and yet very powerful. Even many professional programmers are surprised when they first use Python. You can do some really cool stuff with it. Then learn some serious language like Java or C++. I don't recommend C.
Once you learn the "concepts" behind programming (that is, learn 1 language), it's not difficult to apply that to another. All computer languages are similar in form and function, you just need the particular syntax.
Learning to think logically is the 1st most important step.
for web and network based programs I think PHP would be great. It's my favorite thing too. But if you need to make offline standalone applications and web applications then learn something like .Net.
for web programming i think you should go first with PHP
which is easy and high level language
but for desktop programming i think C, C++ is better
I also think it depends on what is your purpose. If you want to develop software be sure to learn one object oriented language. Java is a great choice coz its been out there for years so its reliable, has support and many companies use it. Also learn C coz you'll need code that runs fast and efficiently to showcase in your online repository
davidv wrote:
Radar wrote:
If you're planning to develop cross-platform desktop applications, and are looking for a nice simple language, I would definitely recommend Python.

I second Python!

I learnt Python about a year ago and it was quite easy to pick up. So i can say from experience that Python is easy to pick up. I keep hearing that Ruby is another language that is geared towards beginners. So that might be another option.
Python3 has been quite easy to grasp, I have been able to write some simple programs after a few weeks of understanding it. There are plenty of tutorials out there.
If you are using Linux you can download Lazarus to check out Pascal or Codeblocks to try C or C++ to write applications

As far as programming for the internet goes php, css, html, javascript are all worth learning.

I see many people here recommend python. I might even follow their advice as well.
Did You try it?
Did You watch homepages made with PHP?
Definitely python if you want to do some light development. It's a very versatile language. You can use it for scripting servers, developing apps, working on the client front-end and doing data science and etc. It is a beautiful language, with some of the simplest syntaxes. The code looks very neat. Python is definitely very useful if you are not doing very big development in a big company. If you really are intending to program something as big as firefox, then try Java or C++.
Thats right.
Python is light.
And easy.
For me, it's either C/C++ or Python. Python is super easy to use, makes you concentrate on how you solve the problem rather than the syntax and other stuff. Python also has got an interactive shell, which makes debugging easier, in my opinion. These features make Python very useful if you are developing algorithms or making your own little project. It's not the fastest down there, but it's definitely very versatile and very easy to learn. Also, you can practically script your linux or mac with python. Very useful for any one interested in computers and programming, especially data science, machine learning and other more scientific usages.
Then there's C/C++. These two languages make you learn the machine and how the machine work deep down inside. Mastering them is also a plus for any programming job you might be applying. They are for really serious developers and hardware people(Arduino uses a form of C, it also recognizes C++). As for Java, I feel that it's not going to be the best option if you are not making a web application. Java's good at back-end stuff.
For my choice it would be Python either for native app or web app it's your choice Python can handle all of them and it is quite easy to understand unlike any other programming languages around.
Da Rossa
I am a beginner and I chose to start with Ruby. Python would be good too.
billiebr wrote:
Hello everyone! This is my first post in frihost, the forums are very nice!
Recently, I've been thinking about learning any programming language, but I got stuck in which should I choose to focus on. A long time ago, I've learned the very basics of coding, which happened in Pascal environment (yes, it was a LONG time ago), and recently I got interested in python, because the structure seems easy to me. Is it a good beginning or should I go straight to C? I plan to develop cross-platform programs (Windows and Linux) as well.
Thank you in advance for your opinions Smile

python is a good choice.

If you have computer science education, I would suggest to learn java or c++ afterward.
I concur with Python as a good language for you to start with. It is very flexible for building simple scripts, and is used more and more for the scripts that 'glue' together the features of an operating system or application. Eventually you may want to use C++ or Java or C# for production tasks, but in almost all environments you can use Python for your overall logic and interface it to the other language.
There are many ways to scale up to the efficiency of compiled optimized code while staying within the Python environment. Learn the interface to C-based modules, and maybe a little about the generated byte code as well. Of course there are libraries already written for efficient array processing (numpy, scipy) and other specialized tasks, so you may get the speedup you need without learning C.

There are projects, such as pypy, intended to produce highly optimized compiled code directly from Python. They are in early stages of development, so they may or may not be mature at the time you need sharper tools.
I do Pascal as well on my school days in college. How about Python have you tried it. I believe you can start coding in no time. A lot of modules to choose from. For games, small business application, system automation and many more. It i very easy to understand and due to it's popularity a wide variety of forums and support that you can get from the internet community. You will find a huge variety of application in android application market for the examles and tutorials for you to take it along with you even you were not in front of your computer. I hope this helps.
I started with lua because it was easy, but now that i have learnt python, is what i would recommend for starters. After that, dependening if you like structured programming or Object Oriented you could go with the C-route(C, C++, etc) or the OO one (Java,C#,complex python,etc)
If you have interest in programming then first study C language because C is the most widely used computer language among the all programming languages. once you clear the concept then try to learn other programming languages as well.
C is very famous.
But C is not the language for studying software.
There a languages which are more easy to use.
But C is famous.

C is indeed very famous. It was designed to replace assembly language for building operating systems, and it does that job very well. It does have competitors, but none of them as portable and successful. One example is SPL, aka System Programming Language, from HP for the HP 3000 series.

C is appropriate for studying some software, but not the best for algorithms in general. Because it is fairly easy to compile and can be highly optimized on most machines, it is the best choice for device drivers and most sections of code which must run as efficiently as possible.

Most software systems are based on lower-level code originally written in C, because very little requires to be written in assembly language these days. C usually provides 95% or more of the speed of hand-coded assembly, and can express hardware-level bit fiddling for all but the most specialized hardware functions and instructions.

My recommendation: Learn your algorithms with Python; provide working prototypes of almost all new code in Python. Keep your eyes on Pypy and Cython; use Cython in particular to interface with optimized code as needed for lower-level functions. In the future, direct programming in large C modules may become as rare as direct programming in large assembly programming is today.
If you are absolutely new to programming, I suggest Python. I teach python to children of Grade 4+ in an after school program.

In our school we choose Python the first programming language for those newbies. There are several reasons:

Learning Python can quickly satisfy students curiosity for understanding what can be done with programs. The learning curve is not as steep as with other languages. It is easiest languages without complex syntax! Code is short and natural! Community support is amazing! Large standard library! It’s cross-platform! and it’s free!!!

Hope this helps.
I started with html (I know its not a real language) but that lead me into JS Verry quickly.

I always recommend JS to my friends because they can usually create something they can see and share with other people. Which is always a plus!![/I]

If you really want to learn the basic though Python is always a great starting place.
Go one step deeper. Learn HTML.

I or need 2 days to teach an adult to build homepages with gedit.
Dont use frontpage or dreamweaver its nonsense for learning.

And with html You understand the basics of understanding the pc.

Make snow and some fun in html and then u ll study js or java.
Python is a good choice to start.
Related topics
The Next Step?
Learn new programs...
how did you learn about html, php or other languages???
Simple menu written in C - Problem with loop
Ajax quiz -- 25 FRIH$
Best Programming Language to Use
Delphi IDE by CodeGear for PHP coding !!!
About pascal programming language
Survey on Programming Language
Can c++ still be kald a programming language?
Day 02 – Preferred programming language?
To learn a programming language: Python
What new foreign language would you like to learn?
What new foreign language are you learning?
Good Cross Platform Programming Language
Reply to topic    Frihost Forum Index -> Lifestyle and News -> Jobs and Learning

© 2005-2011 Frihost, forums powered by phpBB.