Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

what language to learn

  • 05-12-2008 9:33pm
    #1
    Closed Accounts Posts: 14


    I need some advice here, I have done my research but the more I read the more confused I get. I want to learn to program to be able to make a career change in the future. Let’s say that I don’t have a clue about programming and so far, the only thing I know is that the more convenient it’s learn a language that works with the .NET Framework, but I don’t know which one to choose to start .Any advise will be appreciated

    Thanks

    Paul


Comments

  • Registered Users, Registered Users 2 Posts: 16,288 ✭✭✭✭ntlbell


    I need some advice here, I have done my research but the more I read the more confused I get. I want to learn to program to be able to make a career change in the future. Let’s say that I don’t have a clue about programming and so far, the only thing I know is that the more convenient it’s learn a language that works with the .NET Framework, but I don’t know which one to choose to start .Any advise will be appreciated

    Thanks

    Paul

    start of with some basic?


  • Registered Users, Registered Users 2 Posts: 1,028 ✭✭✭Hellm0


    I need some advice here, I have done my research but the more I read the more confused I get. I want to learn to program to be able to make a career change in the future. Let’s say that I don’t have a clue about programming and so far, the only thing I know is that the more convenient it’s learn a language that works with the .NET Framework, but I don’t know which one to choose to start .Any advise will be appreciated

    Thanks

    Paul

    Hi there OP,
    Probably your best option would be to pick up a book on VB.NET or Visual Basic. It's not easy to learn programming solo though so I would recommend you take some night classes if possible just to get the basics down.


  • Closed Accounts Posts: 14 pablodublin07


    I look into Basic already and I found different ones :RealBasic, LybertyBasic, Visual Basic, Visual Basic .Net. I want to learn something that I can use it at steeping stone to learn something else that help me to get a job, and for once do something I like for a living.
    I might get into a night course next summer, but I need to choose which language now so I can start learning all I can before start.
    My major problem here it's that I am afraid to make the wrong choice and waste a few years in the process.


  • Registered Users, Registered Users 2 Posts: 2,699 ✭✭✭samhail


    those learn a language for dummies are a great one - give you the basics of the language, and once you start getting used to the terminology you can expand out.

    check out http://www.microsoft.com/express/
    they are free versions of the MS compilers


  • Users Awaiting Email Confirmation Posts: 294 ✭✭XJR


    The language is not really as important as you think - certainly there are languages that are "flavour of the month" and so finding a job in that area is easier.

    The language itself is only one part of the picture the other part and it's a big part is the analysis of the problem and approach to the solution in other words the ability to analyse a problem and come up with a solution within a confines of any design methodology.

    I've always been of the belief that a good programmer can program in pretty much any language. So my view is pick a language any language that will get you a job but don't get hung up on being a programmer in any specific language - That is if you don't want to get pigeon holed.


  • Advertisement
  • Closed Accounts Posts: 815 ✭✭✭KStaford


    I'd recommend Assembler :D


  • Registered Users, Registered Users 2 Posts: 1,823 ✭✭✭EvilMonkey


    For .net you cant really go wrong with C# as others have said once you learn how to program properly the concepts can easily be applied to any language.


  • Closed Accounts Posts: 14 pablodublin07


    So if the language it's really the "tool of choice" for an specific project o part of it ,what I really need to learn are the programming steps and good programming practice habits.

    I read that the best way to learn to program is to start a project and work on it, I have two projects on mind:
    1.- a program that can interact with electronic devices like GPS and stepper motors controllers
    2.-a program that can help me to interact with Yahoo groups using my username and password instead of going to the site.

    Are those projects to difficult to start?It's any of those languages more suitable than the others to get it done ?
    I already install Visual Studio 2008 and start reading some tutorials about each language :visual c++ ,visual c# and visual basic.Next week I will get me one of the Dummies books in the language of choice.

    Maybe somebody here have one to sale...

    Thanks again for the answers.


  • Registered Users, Registered Users 2 Posts: 1,119 ✭✭✭Donald-Duck


    So if the language it's really the "tool of choice" for an specific project o part of it ,what I really need to learn are the programming steps and good programming practice habits.

    I read that the best way to learn to program is to start a project and work on it, I have two projects on mind:
    1.- a program that can interact with electronic devices like GPS and stepper motors controllers
    2.-a program that can help me to interact with Yahoo groups using my username and password instead of going to the site.

    Are those projects to difficult to start?It's any of those languages more suitable than the others to get it done ?
    I already install Visual Studio 2008 and start reading some tutorials about each language :visual c++ ,visual c# and visual basic.Next week I will get me one of the Dummies books in the language of choice.

    Maybe somebody here have one to sale...

    Thanks again for the answers.

    You really won't be writing anything like that to start with, to start programming you have to start with the basics. Writing programs that do trivial things.


  • Registered Users, Registered Users 2 Posts: 3,945 ✭✭✭Anima


    Why not start with C and work your way onto Object Orientated stuff from there?

    Theres some tutorials on :
    http://www.cprogramming.com/tutorial.html

    Also C++ tutorials there as well.


  • Advertisement
  • Closed Accounts Posts: 14 pablodublin07


    I have C++ fro Dummies in the bookshelf, it's a few years old.I didn't get to it because someone told me to C++ it's for some one who already know another language and it's better to start with a Visual language.

    C# isn't an evolution from C++?It's better to start learning to program console applications than windows?

    Thanks again


  • Registered Users, Registered Users 2 Posts: 2,699 ✭✭✭samhail


    in my opinion i would suggest you check out that book. the first few chapters (atleast) goes into all the concepts of programming, for statements, while, if, etc. but the c++ one - i think i have it in my bookcase there somewhere too - but it goes into all about OOP, object orientated programming, which is how alot of the langues work.

    i personally went through the c/c++ assembly, embedded programming route with my engineering degree so my suggestions might be a bit biased (maybe) towards that.
    i never learnt java or any of the .net range. would have liked to but my career took me in a different direction :)


  • Registered Users, Registered Users 2 Posts: 1,823 ✭✭✭EvilMonkey


    C# isn't an evolution from C++?It's better to start learning to program console applications than windows?
    No C# has nothing to do with C++ it has a similar syntax but thats about it. C# was developed by Microsoft to be used with .net.

    I would have said its better to start with console apps because their is less to confuse you but i don't think it really matters.

    As you have the C++ book i would go ahead and start with that C++ is a great first language to learn. Have a look online for a tutorial or book on what .net is, how it works etc if thats what you want to get into. Realistically though learn the language first all the .net stuff can come along when you have a solid foundation in whatever language you learn.


  • Closed Accounts Posts: 14 pablodublin07


    Now I have a better idea of what to do, since I have 2 books on C++ I will start there, and then , after I have a good understanding of C++ and good programming habits I will get into the visual C++ and the NET thing.

    It's that a good plan???


  • Registered Users, Registered Users 2 Posts: 52 ✭✭Jamar


    If you are learning a language for the first time, I'd be tempted to look at python.

    What's good about it is that you can get results quite quickly - one line to print something as opposed to 5-6 in C, C++ Java (I don't know about .net languages). Python also encourages one good way of doing things, and clear syntax. All languages have to make trade-offs, depending on what they are trying to achieve. Python is trying to achieve an easy to write language. It's free to download, and should work from the box. (A lot of this applies for Ruby and perl and other scripting languages).

    What's not so good is that it's not .net, that it's considered a scripting language, and the style of writing code differs from most languages (white space matters).


  • Registered Users, Registered Users 2 Posts: 9,560 ✭✭✭DublinWriter


    Your post is not untypical of many that have been posted here before.

    I'd say it's not the language that's important, more the framework/API that you're developing for.

    Java/C#/C++ are all derivate from C, so the syntax won't be unfamiliar.


  • Closed Accounts Posts: 863 ✭✭✭Mikel


    I find visual basic easy to learn compared to c++.
    Also its easier to learn to code if you have something specific you want to achieve, rather than trying to pick up abstract concepts.


  • Registered Users, Registered Users 2 Posts: 9,579 ✭✭✭Webmonkey


    I wouldn't recommend VB as a starting language. It isn't really proper programming. It does the programming for you, you don't have to solve any problems that make you a good programmer unlike what C/C++ would force you to do normally.

    If you want to produce something quick and not bother learning to program proper or if it just once off, start with VB. Otherwise you better off getting to understand how to really program properly by understanding low level data structures etc in C then go onto C++ or something. Just my opinion.


  • Closed Accounts Posts: 863 ✭✭✭Mikel


    I'm not saying you're wrong, I've just found it difficult to start with say C or C++ because of the abstraction, whereas with VB you can get things done immediately.
    It depends too what industry you are in. Banking uses C++ for complex stuff, but most of it is done with VB and spreadsheets.


  • Registered Users, Registered Users 2 Posts: 5,618 ✭✭✭Civilian_Target


    Personally, I would recommend starting with PHP. It does the basic functions very well, and because its a web language, it's very easy to produce visual results.

    Unlike in something like Java/C++ where you type a load of lines of code, put some command line input and get some print statements.... just doesn't feel like it's worth it in quite the same way ;)

    Other good starting points down this line are Ruby on Rails or Perl [EDIT] or Python like Jamar recommends[/EDIT]


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 86 ✭✭snapplejacks


    i'm going to follow OP's plan and reskill myself in some C++. I want to firstly learn to program in C though, then go to C++.....and eventually use this on .NET framework.

    so instead of downloading .net framework/visual studio, can someone recommend a C/C++ compiler for download?


  • Registered Users, Registered Users 2 Posts: 9,579 ✭✭✭Webmonkey


    Codeblocks http://www.codeblocks.org/. Make sure to download MingGW with it.


  • Closed Accounts Posts: 995 ✭✭✭Ass


    C will teach you a lot about functional programming. C++ a lot about OOP. Since classes have functions, it's only logical that you learn C first, and then move on to c++. Both are very powerful languages and if you've got C and C++ down, you can pick up other languages in a matter of weeks.


  • Registered Users, Registered Users 2 Posts: 760 ✭✭✭mach1982


    KStaford wrote: »
    I'd recommend Assembler :D
    Hardcore

    mov ax bx;


  • Registered Users, Registered Users 2 Posts: 1,823 ✭✭✭EvilMonkey


    i'm going to follow OP's plan and reskill myself in some C++. I want to firstly learn to program in C though, then go to C++.....and eventually use this on .NET framework.

    so instead of downloading .net framework/visual studio, can someone recommend a C/C++ compiler for download?
    You can compile native C/C++ in visual studio


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    I don't get the logic behind learning C to learn C++ or learning C to learn C++ to learn C#. Just start at the top, if you wantto learn C++ start with that, if you want to learn C# start with that. Yes, you need to learn procedural coding before learning object orientated coding, but you can do that easily in C++ or C# (or java to throw another into the mix).

    Object orientated programming is at the center of the vast majority of modern programming and is a vital skill for anyone learning programming to pick up. IMO you shouldn't aim to learn procedural programming, and then when you're done move on to object orientated programming. Anyone learning to program should be aiming to learn object orientated programming, and picking up procedural programming as a subset of that.

    I always recommend people should start with either of the main .Net languages (C#, VB.Net) or Java. They're three modern up to date languages that cover all the things an aspiring programmer could need to know.


  • Registered Users, Registered Users 2 Posts: 6,463 ✭✭✭run_Forrest_run


    personally I would start with a language such as C.
    As someone already said here, it's best to start learning a language in a course/classroom setting so someone can explain the main concepts to you.

    Once you have a grasp of the main concepts you will then be able to benefit from the thousands of online resources and books available for such a popular language as C.

    Then if you like what you are doing you can take the next step into Object Oriented Programming (OOP). Two of the most popular languages in this area are Java and C++. The syntax and structure is not dissimilar to C so you should find the transition to the language to be smooth.

    However, before you delve into the code of Java or C++ spend some time learning and understanding Object Oriented Programming, spend as long as you need to comfortably understand this concept. Start thinking that everything is an object (lets not get into interfaces and abstract classes right now!!). A car is an object, a wheel is an object, a vehicle is an object, a car inherits things from a vehicle etc...read up on stuff like inheritance, polymorphism etc.

    So as you can see, OOP can sometimes distract the student from learning the actual language properly, and that is why I am saying start with a language like C and take it from there...

    And remember, you are never alone, there is always someone out there working on the same stuff you are so check the web for resources, hints, tips etc but never take their work as gospel, always have a go yourself.

    Best of Luck!


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    So as you can see, OOP can sometimes distract the student from learning the actual language properly, and that is why I am saying start with a language like C and take it from there...
    How is OOP distracting from learning the actual language? OOP is an integral part of programming. To compare it to a spoken language, you don't spend one year learning all of the french words, and then spend the next year learning how to put them together into sentences, you do both at the same time.

    Unless you do start with C, because it doesn't include OOP then OOP would just be a distraction. But the only reason people seem to be recommending C is as a starter point to work up to an OOP language. Why bother with that step when it's easier to just start with an OOP language in the first place?


  • Registered Users, Registered Users 2 Posts: 163 ✭✭stephenlane80


    I think the best path to take is:

    first C
    then C++ or java or php
    then Python/ruby/perl

    let me give a justification for that, stevenmu says hes doesnt get why you should learn c as you dont need it to program in C++ or C# and he is correct.

    the reason i would learn c is that many c++ programs contain legacy c code as a c++ compiler will compile both c and c++ as c is sub set of c++

    if you are not interested in learning native c++, and instead want to program in c++.net / c#.net or vb.net then c insnt necessary in my opinion

    php is typically used for web programming and is very powerful for this, but not so useful for general puropse programming

    The bread and butter programming platforms are native c++, .Net and Java, knowing one of these is a must.

    python /perl/ruby are interpreted or just in time compiled languages and not concidered general purpose, even thou the can create very powerful applications, they are most commonly used for scripting purposes or in web applications

    in summary if i were doing it again i would go:

    c -> c++ -> java

    i wouldnt wory tooy much about the others as they are picked up in days if you have a firm understanding of c++ or java, the beauty of learning c++ is that you can program native or .Net applications.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 1,006 ✭✭✭WithCheesePlease


    I agree with most of the last few posts - but again out of bias cos that's the way I did it.

    But it depends on your needs and what you want to get out of it. If you want immediate results and a choice of working with web apps / console apps / windows services etc. then you can always go straight to VB.NET and wing it from there. I personally don't like VB though, but that's just me.

    I personally, because I had the time to do so and through college, went through various flavours of assembly and from C - C++ - Java and then on to C# and .Net through working. Helps with getting a more in depth knowledge of the architecture and what you're at and how it all holds together with regard pointers and heap/stack and performance and all the rest. Doesn't sound like you want to go to that level though!

    Don't forget you'll also probably need some flavour of SQL too!


  • Registered Users, Registered Users 2 Posts: 163 ✭✭stephenlane80


    If you are looking for a good place to start www.bruceeckel.com has free ebooks on c, c++ and java, the c course is designed logically so it is easy to transfer from c to c++ or java

    the java stuff is a bit dated but the c / c++ stuff is the best resoure i have seen to date, cplusplus.com is good but leaves out a lot of the essential background required to understand why things work like they do


  • Registered Users, Registered Users 2 Posts: 6,463 ✭✭✭run_Forrest_run


    stevenmu wrote: »
    How is OOP distracting from learning the actual language? OOP is an integral part of programming. To compare it to a spoken language, you don't spend one year learning all of the french words, and then spend the next year learning how to put them together into sentences, you do both at the same time.

    Unless you do start with C, because it doesn't include OOP then OOP would just be a distraction. But the only reason people seem to be recommending C is as a starter point to work up to an OOP language. Why bother with that step when it's easier to just start with an OOP language in the first place?

    because I've seen many students struggle with the basics of programming because they get too hung up on the OO aspects. Strip away the OO part and teach the fundamentals of programming and then tie in OOP.


  • Registered Users, Registered Users 2 Posts: 9,579 ✭✭✭Webmonkey


    because I've seen many students struggle with the basics of programming because they get too hung up on the OO aspects. Strip away the OO part and teach the fundamentals of programming and then tie in OOP.
    I agree, especially when a lot of lecturers can't even teach it.

    Programming is about problem solving, students should be introduced to solving algorithmic problems first at a procedural level and then move onto OOP.


  • Registered Users, Registered Users 2 Posts: 1,119 ✭✭✭Donald-Duck


    So I'm the only one who found OOP much easier to grasp than structural?


  • Hosted Moderators Posts: 7,486 ✭✭✭Red Alert


    I'd definitely vote with going procedural first - C is probably your best bet. Pick up a good simple book on it, there's one called "A Book on C" that I remember being quite good. The dev tools for it are available free as well - you just need notepad and the GNU C compiler to get started.


  • Advertisement
  • Closed Accounts Posts: 9,183 ✭✭✭dvpower


    Start with VB.NET or C#. You can get the free Express Edition of Visual Studio from Microsoft and there are lots of tutorials and samples available. Microsoft have a package of 101 sample applications that demonstrate many aspects of the .NET framework.

    Do a night course. You can learn by yourself but you will be a much better programmer if you get some structured learning.

    If ever you bump into a group of programmers discussing the relative merits of VB.NET vs C#, leave the room immediatly; these people will suck the life out of you.


  • Closed Accounts Posts: 9,183 ✭✭✭dvpower


    Webmonkey wrote: »
    I wouldn't recommend VB as a starting language. It isn't really proper programming. It does the programming for you, you don't have to solve any problems that make you a good programmer unlike what C/C++ would force you to do normally.

    If you want to produce something quick and not bother learning to program proper or if it just once off, start with VB. Otherwise you better off getting to understand how to really program properly by understanding low level data structures etc in C then go onto C++ or something. Just my opinion.

    Don't go near VB (classic). It is a deprecated language. Microsoft no longer activly support it.


Advertisement