Programming languages for ~beginner

by desertofwater Banned
16 replies
Hello there,

I 18 years old studying Computer Science and I am about to start studying some programming langauges.

The University currently teach us Python, which I think it's easy, and it will teach us Java, C and PhP in the future. I will definitelystudy C (can you tell me the differences of it, C# and C++? ). Apart from that I am very interested to Artificial Intelligence(software) and debugging. Can you suggest any languages for that?

Thanks in advance.
#beginner #languages #programming
  • Profile picture of the author dvduval
    If you are going to be programming on the web you can't ignore PHP and javascript. I think Python is good too, because so much of google's code uses it. Good luck with your studies!
    Signature
    It is okay to contact me! I have been developing software since 1999, creating many popular products like phpLD.
    {{ DiscussionBoard.errors[1451517].message }}
    • Profile picture of the author sundrop881
      Originally Posted by dvduval View Post

      If you are going to be programming on the web you can't ignore PHP and javascript. I think Python is good too, because so much of google's code uses it. Good luck with your studies!
      Even though I didn't learn php and only some javascript at school, these are invaluable to me as I work with websites. Now, Wordpress has themes and templates, but still you have to be able to "read" php and javascript to change something if the template goes haywire on you. I "read" and adjust both of these a lot.
      {{ DiscussionBoard.errors[1973248].message }}
  • Profile picture of the author Mr. Enthusiastic
    I think it's great that you start with Python. This lets you learn the principles of programming without a lot of strange punctuation.

    There is a lot to good programming beyond writing code. Code writing is like the part of the postman's day driving around - the most visible job, but not all that they do.

    Here's a helpful article about that: The Joel Test: 12 Steps to Better Code - Joel on Software

    You can learn source control, builds, continuous integration, bug tracking, debugging, spec writing, testing, and usability testing within Python. Also you can learn how to make code modular, and how to do good object-oriented design.

    You will find that PHP is similar to phython. Here's the reference manual: PHP: PHP Manual - Manual. Once you are intermediate at python, you should recognize these terms.

    For debugging I highly recommend you learn assembly language. Google for "assembly language tutorial" and you'll find lots of resources. The better you understand what is going on at the hardware, the more efficient and powerful you can make your code, and the easier it will be for you to design and troubleshoot any system. After assembly, continue with Forth to see how the efficiency masters think.

    C was developed a long time ago to be efficient for operating system development as a portable assembler, and for programming research. C++ was made much later to add many new features to C. Java was made in an effort to improve on C++. C# was made to improve on Java, or to crush it in the marketplace, depending on your opinion of Microsoft and we won't get into that here.

    With your interest in Artificial Intelligence, you really should learn LISP. It is a decade older than C and involves some completely different concepts and thought processes. You can find MIT's tutorial on their teaching version of LISP, called Scheme, for free at Welcome to the SICP Web Site. Paul Graham's articles and forums would be your next place to learn more about the LISP world. Read Papert's book and learn Logo.

    Parallel computing is going to be more important in the future, using multiple cores and coordinating programs across multiple machines on the Internet. If you master this material you will be way ahead of the average programmer.

    Finally, be sure you learn how to code like a cat.
    99 Bottles of Beer | Language LOLCODE

    Happy coding!

    Chris
    {{ DiscussionBoard.errors[1451685].message }}
  • Profile picture of the author TrafficMystic
    To be honest, it's not about the best language to use. It's about learning how they actually work in theory and applying that theory to any programming language you need to use for a particular task.. most OOP languages are basically the same bar the syntax... (of course this doesnt include x86 / recursive programming like ada etc)..

    C is mainly used in systems where memory and speed is at a premium like hospital equipment etc.. as is c++.. I used 'c' and 'C++' a lot for robotics (and AI) style applications I wrote and operating system interaction (unix)..

    the main difference between c and c++ is the scoping of the variables and the introduction of object orientated methodolgies within C++ (ie.. classes / object and the scopes of friend / private / protected and public)...

    If you know any C then you will see that a C 'struct' is basically a public c++ class without any scoping..

    C doesnt allow for such OOP concepts of inheritance of classes or interfaces. C# allows for inheritance like C++ but C++ allows for multiple inheritance whereas C# doesnt..

    java took the c++ syntax and basically simplified it but the event model (adapters and listeners) is very poor (it was anyways when I used from java 1.0 to 1.5).

    C# is basically the best bits of C++ and java but introduced an excellent delegation event model and loads more.. For example 'web services' / 'remoting' and 'versioning' of meta data...

    I did my software engineering degree mainly in c / c++ / java / prolog / ada / x86 and some experimental languages.. did 3 years of java dev then moved to vb / C++ and C# and personally C# is the daddy and an awesome programming language to use..

    php has a very c style of syntax but has a partial object model and is also an interesting one to learn and is pretty easy...

    I'll stop ranting now like a computer geek

    Steve
    {{ DiscussionBoard.errors[1452232].message }}
  • Profile picture of the author MemberWing
    C is good to know as it is based for many other languages (C++, C#, PHP)
    C# is good for corporate high-paying jobs.
    PHP officially won't pay well because every kid can craft crappy script in notepad but if you recognized expert - you command the rate regardless.
    Python is used by Google - but it's not widespread.
    Ruby is nice, clean but overhyped language for silicon valley startups who launch social networking sites on a daily basis. It might help you land a job in one of these startups with promise of possible bright future for 14hr/day work.
    {{ DiscussionBoard.errors[1453207].message }}
  • Profile picture of the author Adney
    I still really noob about programming etc.. but it's look interesting
    Signature

    No Signature :)

    {{ DiscussionBoard.errors[1453484].message }}
    • Profile picture of the author Therlos
      Another easy language is Delphi. Delphi is based on Pascal and is really a good newbie language. There is also a software with an interface for Delphi. It's not a real powerful language but as already said, it's more important to learn the whole programming thought.

      Daniel
      {{ DiscussionBoard.errors[1455529].message }}
  • Profile picture of the author techgirl
    According to me php and .net are two languages which are very good to learn for future earnings
    {{ DiscussionBoard.errors[1455554].message }}
  • Profile picture of the author VisualWebEffects
    I can not really expand on what TrafficMystic described.

    for AI programming i would deff. recommend C++ (Note: NOT Visual C++).

    For example, Most major Game Engines are written in C++.
    Signature
    VisualWebEffects- Web Application Development, PC Software Development and Identity Design services
    {{ DiscussionBoard.errors[1455919].message }}
  • Profile picture of the author Mr. Enthusiastic
    I see the original poster was banned, but I think the topic could still be useful to other people who want to learn programming. One thing all the old-timers definitely agree on is that there is no one perfect language, only different systems that have their advantages in particular areas. Also that it's important to be aware of the culture and history around each language, which helps explain these trade-offs.

    Steve, do you mostly work in C# these days?

    Thanks for the Delphi reminder, Daniel. I've used it in the past and I agree that it has a lot to offer.

    MemberWing, I got a laugh from your 14 hours a day comment. Reminds of the saying that Google employees get flex time, they can work any hundred hours they like during the week! (I also like Atahualpa, it's got me down well under 13 hours a day now. )
    {{ DiscussionBoard.errors[1455952].message }}
    • Profile picture of the author TrafficMystic
      Originally Posted by Mr. Enthusiastic View Post

      I see the original poster was banned, but I think the topic could still be useful to other people who want to learn programming. One thing all the old-timers definitely agree on is that there is no one perfect language, only different systems that have their advantages in particular areas. Also that it's important to be aware of the culture and history around each language, which helps explain these trade-offs.

      Steve, do you mostly work in C# these days?

      Thanks for the Delphi reminder, Daniel. I've used it in the past and I agree that it has a lot to offer.

      MemberWing, I got a laugh from your 14 hours a day comment. Reminds of the saying that Google employees get flex time, they can work any hundred hours they like during the week! (I also like Atahualpa, it's got me down well under 13 hours a day now. )
      yeah.. Most of the coding work I do nowadays is C#, still do a little C++ but very little now... Most of the companies I also do work for also want C# over vb.net and C++...
      {{ DiscussionBoard.errors[1456258].message }}
  • Profile picture of the author VisualWebEffects
    I agree C# is a very powerful language. Especially if you are developing .NET API's, Components, Controls, ect ...

    C# Hands down is best for things like that.

    C# is even into the game engine scene now, there is a couple engines built using it, one that comes to mind, can't remember the name, but it is a direct C# port of the Ogre rendering engine.

    I can use C#, understand it easily, but not very proficient in it. I use C++ and VB.NET for most things.
    Signature
    VisualWebEffects- Web Application Development, PC Software Development and Identity Design services
    {{ DiscussionBoard.errors[1456683].message }}
  • Profile picture of the author buddywes1436
    delphi is the second language i started on and i was able to pick it up much easier than my first one which was vb. However one thing i did like about vb is that there are tons of resources for it in the US but very limited on delphi for those of us who live in the US. Another thing I like about delphi is that it is very powerful language and you can spit out software rather quickly with it. I suggest any newb to start there.
    {{ DiscussionBoard.errors[1973219].message }}
  • Profile picture of the author apoorv.parijat
    I don't find anyone mentioning Object C. Agreed it is solely used by Apple, but it has got a bright future I believe. The open source development kits are also available.
    Not to forget the broad market it promises.
    {{ DiscussionBoard.errors[1973525].message }}
  • Profile picture of the author Lord2
    I think that Java is probably the best one out of the list. Learn Java and other programming languages will be easy to understand

    Also Java jobs are best payed check it on Yahoo.
    {{ DiscussionBoard.errors[1974143].message }}
  • Profile picture of the author unsmashed
    I would recommend C# - search Google for dreamspark - Microsoft gives the majority of their development platform to students for free.
    {{ DiscussionBoard.errors[1974804].message }}

Trending Topics