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

first language to learn

  • 31-01-2014 5:24pm
    #1
    Registered Users, Registered Users 2 Posts: 453 ✭✭


    Hi i was let go from my job,and cant find any.sitting home and doing nothing everyday is killing me.
    Would to learn some usefull skill ,like how to make android app or website.
    Where i start?what language to learn first?


Comments

  • Registered Users, Registered Users 2 Posts: 3,078 ✭✭✭onemorechance


    To make an Android app, the best language to learn is Java.

    To make a website, the best language to learn is PHP.

    You can start with a book, or use online tutorials such as those found on NewBoston.


  • Registered Users, Registered Users 2 Posts: 2,089 ✭✭✭henryporter


    To make an Android app, the best language to learn is Java.

    To make a website, the best language to learn is PHP.

    You can start with a book, or use online tutorials such as those found on NewBoston.

    If you just stick to java you can do websites with Grails


  • Registered Users, Registered Users 2 Posts: 2,815 ✭✭✭SimonTemplar


    You can do websites with Java servlets / JSP / JSTL too although PHP is easier to learn. Bear in mind that you'll also need to learn client side languages for website development, at least HTML and CSS.


  • Registered Users, Registered Users 2 Posts: 1,266 ✭✭✭Overflow


    If you just stick to java you can do websites with Grails

    Or you could forget both PHP and Java and learn C#.

    C# is no longer just Microsoft specific, you now have Mono which allows you to code with C# on most platforms.
    Then you can make websites, cross platform desktop apps, iphone and android apps. You also have MonoGame if you wish to get into game programming.

    C# Fundamentals
    http://www.microsoftvirtualacademy.com/training-courses/c-fundamentals-development-for-absolute-beginners#?fbid=5YJyK4Uynfy

    Cross platform Mobile + Desktop
    http://xamarin.com/

    Websites
    http://www.asp.net/mvc

    Javascript would also be very worthwhile learning !


  • Registered Users, Registered Users 2 Posts: 1,266 ✭✭✭Overflow


    You can do websites with Java servlets / JSP / JSTL too although PHP is easier to learn. Bear in mind that you'll also need to learn client side languages for website development, at least HTML and CSS.

    HTML is a markup language and CSS a stylesheet language meant to express presentation. Its not programming. Like i said you should learn javascript, its a client side and server side language. You should also learn the basic of CSS and HTML so you can put together functioning website. But if you not into design then leave the advanced CSS and HTML stuff to designers.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 2,815 ✭✭✭SimonTemplar


    Overflow wrote: »
    HTML is a markup language and CSS a stylesheet language meant to express presentation. Its not programming. Like i said you should learn javascript, its a client side and server side language. You should also learn the basic of CSS and HTML so you can put together functioning website. But if you not into design then leave the advanced CSS and HTML stuff to designers.

    The OP said he possibly wants to make a website. To do so, he'll need HTML and CSS. I never said they were programming.


  • Registered Users, Registered Users 2 Posts: 1,266 ✭✭✭Overflow


    The OP said he possibly wants to make a website. To do so, he'll need HTML and CSS. I never said they were programming.

    My mistake, apologies :D


  • Registered Users, Registered Users 2 Posts: 81,220 ✭✭✭✭biko


    Maybe start in the other end - first decide on what you want to do, for instance a small Android app, and then start learning the tools to accomplish it.
    I find problem based learning more effective than big book learning.

    My suggestion would be, learn how to set up a web server and a database on your computer.
    Then learn basic html and sql, and make the server show results from the database.
    Congrats, you've just learned the basic structure for every website in the world.


  • Registered Users, Registered Users 2 Posts: 232 ✭✭lemon_remon


    It really doesn't matter. Just get started, that's the main thing. Pick a language that allows you to create something that appeals to you. Websites? Javascript. Android apps? Java. iPhone apps? Objective C. Desktop games? C# etc.


  • Registered Users, Registered Users 2 Posts: 2,021 ✭✭✭ChRoMe


    It really doesn't matter. Just get started, that's the main thing. Pick a language that allows you to create something that appeals to you. Websites? Javascript. Android apps? Java. iPhone apps? Objective C. Desktop games? C# etc.

    Exactly.


  • Advertisement
  • Banned (with Prison Access) Posts: 1,288 ✭✭✭sawdoubters




  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    I'd recommend Java as a first language to learn.

    This is because, other than the range of tutorials available in Java out there, it's a pretty strict language, which means you're less likely to end up with bad habits, which is what will inevitably happen with something like PHP.

    It also gets you into object oriented programming from the start, and it's a lot easier to go from that to more procedural languages than the reverse, in the long term.

    It's also very simelar to C#, but while you could also start with that first, I'd still go for Java because it allows you, with greater ease, to compile using the command line from the beginning, rather than hiding everything behind a slick IDE, which I feel is good to be familiar with.


  • Registered Users, Registered Users 2 Posts: 2,021 ✭✭✭ChRoMe


    I'd recommend Java as a first language to learn.

    This is because, other than the range of tutorials available in Java out there, it's a pretty strict language, which means you're less likely to end up with bad habits, which is what will inevitably happen with something like PHP.

    It also gets you into object oriented programming from the start, and it's a lot easier to go from that to more procedural languages than the reverse, in the long term.

    It's also very simelar to C#, but while you could also start with that first, I'd still go for Java because it allows you, with greater ease, to compile using the command line from the beginning, rather than hiding everything behind a slick IDE, which I feel is good to be familiar with.

    There is a huge ramp up to get the basics going, this is where things like PHP shine. Its a difficult experience for a new student trying to understand every word in a Java hello world programme.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    ChRoMe wrote: »
    There is a huge ramp up to get the basics going, this is where things like PHP shine. Its a difficult experience for a new student trying to understand every word in a Java hello world programme.
    True, but that extra effort with a language like Java will be a fraction of the effort needed to get rid of all those bad habits you'll pick up if you start with a language like PHP.


  • Registered Users, Registered Users 2 Posts: 2,021 ✭✭✭ChRoMe


    True, but that extra effort with a language like Java will be a fraction of the effort needed to get rid of all those bad habits you'll pick up if you start with a language like PHP.

    I'd be more of the view of getting them moved from PHP to a strongly typed language quickly, have a fast but gradual increase in complexity.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    ChRoMe wrote: »
    I'd be more of the view of getting them moved from PHP to a strongly typed language quickly, have a fast but gradual increase in complexity.
    Swings and roundabouts; whatever advantage there would be to using a language like PHP at the start, could be quickly wiped out by the cost of transitioning to a strongly typed language, rather than just having stuck with one from the beginning.

    Meh. Whatever works.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    I'd recommend Java as a first language to learn.
    This is because, other than the range of tutorials available in Java out there, it's a pretty strict language

    Just on the academic point, if you'd said Pascal or Modula-2 I'd have agreed with you based on your argument, but Java? Nope. It's an industrial language (meaning, don't care how it gets done just do it) rather than a teaching language. The amount of ways you can do bad things in it if you don't know what you're doing is pretty huge.

    Which isn't to say that there are no worse languages - I still think you deserve a custodial sentence for trying to teach programming using C++ or Perl for example - but there are better ones.

    Personally, I'm a fan of languages that were designed for teaching if you're going to teach (so as mentioned, Pascal and Modula-2) with the next languages taught (because if you only learn one, you're not being taught properly) being things like C, Python, Erlang and the like (Python is by this stage established enough to have gotten away from questions about its longevity in terms of university courses, I think).



    But, from the OP's post, I think that (a) they may not understand just how large a job learning to program is; (b) they may not actually need or want to become a developer; and (c) if I'm wrong about (a) and (b) and the OP is learning a new language to go get a job, then there's a lot of languages out there that you can get work doing - C++, Objective C, Java, Perl, PHP, C#, whatever. C++ is probably the most universal closely followed by Java; it's the esoteric and cool languages, and especially the new ones, that you'd have trouble finding work in (like Erlang, say. There *are* jobs there, but not as many as with the others).

    But I think that I was right about (a) and (b) and perhaps something more like the lower end of web development would be something for the OP to be aiming at rather than writing apps and the like, so languages like PHP would be useful but learning how to set up websites using existing frameworks and tools like wordpress and others might be more helpful to them.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Sparks wrote: »
    Just on the academic point, if you'd said Pascal or Modula-2 I'd have agreed with you based on your argument, but Java?
    Sorry, I took the OP's question to be a practical one.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    Sorry, I took the OP's question to be a practical one.
    So did I, hence the note there at the start and the entire second half of my post :P


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


    It's also very simelar to C#, but while you could also start with that first, I'd still go for Java because it allows you, with greater ease, to compile using the command line from the beginning, rather than hiding everything behind a slick IDE, which I feel is good to be familiar with.

    FWIW you can do this with C# too by using CSC.exe:

    http://msdn.microsoft.com/en-us/library/78f4aasd.aspx
    http://msdn.microsoft.com/en-us/library/ms379563(v=vs.80).aspx


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 319 ✭✭nagilum2


    Python.

    See these tutorials:

    1. https://www.youtube.com/playlist?list=PLA175E8A1816CD64B (if you insist on java, he also has a phenomenal java series. Disclaimer, I have years of work in both and I think python will get you up to speed on programming concepts faster without some of java's required verbosity)
    2. http://learnpythonthehardway.org/book/
    3. http://interactivepython.org/runestone/static/thinkcspy/GeneralIntro/introduction.html#the-way-of-the-program
    4. https://gettingstartedwithdjango.com (For your web development wishes)


  • Registered Users, Registered Users 2 Posts: 1,477 ✭✭✭azzeretti


    Sparks wrote: »

    I still think you deserve a custodial sentence for trying to teach programming using C++ or Perl for example - but there are better ones.

    How is your Perl as I find this an odd statement. I've only being coding for about 4-5 years (outside shell scripts etc) however I started with Perl. I've since went into other languages but I'd recommend Perl to anyone as a starter. It's quite high level, has similar syntax to PHP and other languages which makes transition easy. I do think there are more relevant languages, sort of, but regarding ease, Perl is certainly up there.

    Just to be clear; the OP should possibly go with a more relevant language. I needed Perl for an application my company inherited after a merge so it was forced onto me. However, I just wanted to point out that it is a fairly handy one to learn.


  • Registered Users, Registered Users 2 Posts: 81,220 ✭✭✭✭biko


    Came across this thread again and I'd say have a look at html first.
    It's the most basic website language I know of and pretty easy to learn.



    Once you have fundamentals in html other web languages will be easier to understand.

    I think PHP/MySQL is probably best if you want to go towards web.


  • Registered Users, Registered Users 2 Posts: 23,212 ✭✭✭✭Tom Dunne


    biko wrote: »
    Came across this thread again and I'd say have a look at html first.
    It's the most basic website language I know of and pretty easy to learn

    I'd have to disagree.

    HTML is a markup language, not a programming language. Big difference.

    Control structures, loops and conditional statements are pretty important to learning a language, none of which HTML has. And then of course there are objects and OOP concepts.


  • Registered Users, Registered Users 2 Posts: 707 ✭✭✭ulinbac


    Hi OP,

    FWIW, I've started learning Java recently.

    Started with the book "Head first Java". After some studying on that and practicing the exercises I am now studying a MOOC class which I think is very helpful in getting the head around coding and its logic.

    http://mooc.cs.helsinki.fi/programming-part1

    Getting about 2hrs a night on it and about 5 a day at weekends. The time flies though and learning a lot (I think :P)


  • Registered Users, Registered Users 2 Posts: 81,220 ✭✭✭✭biko


    Tom Dunne wrote: »
    I'd have to disagree.

    HTML is a markup language, not a programming language. Big difference.

    Control structures, loops and conditional statements are pretty important to learning a language, none of which HTML has. And then of course there are objects and OOP concepts.
    Neither me nor OP has mentioned programming.
    He asked how to make an app or website and what language to start with, I've answered twice about how to start with html and an easy website.


  • Registered Users, Registered Users 2 Posts: 3,078 ✭✭✭onemorechance


    I would agree with Biko that HTML is a great language to start off with.

    It has the easiest set-up, notepad.exe and a web-browser is all that is needed.

    It is easy to learn and teach.

    Enter the following into notepad:
    <html>
    <head>
    <title>My First Webpage</title>
    </head>
    <body>
    <h1>Hello world.</h1>
    </body>
    </html>
    

    Filename: helloworld.html
    Save as type: All files(*.*)

    Open in web browser.

    Using HTML, one can learn about:

    * best-practices, naming standards, syntax

    * the importance of file-names, upper-case / lowercase, spaces etc.

    * good project / folder structure, www/html, www/images etc.

    * adding attributes (parameters) to elements (methods)

    * including / importing components such as css

    * moving on to more complex languages such as Javascript


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,110 Mod ✭✭✭✭Tar.Aldarion


    nagilum2 wrote: »
    Python.

    See these tutorials:

    1. https://www.youtube.com/playlist?list=PLA175E8A1816CD64B (if you insist on java, he also has a phenomenal java series. Disclaimer, I have years of work in both and I think python will get you up to speed on programming concepts faster without some of java's required verbosity)
    2. http://learnpythonthehardway.org/book/
    3. http://interactivepython.org/runestone/static/thinkcspy/GeneralIntro/introduction.html#the-way-of-the-program
    4. https://gettingstartedwithdjango.com (For your web development wishes)

    Good advice here, and that learnpythonthehardway book is quite short, keeps interest and would teach you quite a bit.
    I feel like we went backwards with assembly, c++, java in uni. Didn't do python etc at all.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    biko wrote: »
    Neither me nor OP has mentioned programming.
    He asked how to make an app or website and what language to start with, I've answered twice about how to start with html and an easy website.
    While I would be one to agree with Tom, I'll have to agree with you here on reflection as the OP never did mention programming. I think we've all been jumping to conclusions and projecting our own values of what they should do ever since.
    Mandzhalas wrote: »
    Hi i was let go from my job,and cant find any.sitting home and doing nothing everyday is killing me.
    Would to learn some usefull skill ,like how to make android app or website.
    Where i start?what language to learn first?
    Reading over what they posted again, my first thought of a response is actually "English".

    However, that aside, this appears to me to be a person who's lost their job, needs another, and seemingly IT looks like an attractive market. Hence the rather vague nature of the request; essentially, (s)he was asking "lost my job and need another; this IT lark looks like there's some work going in it - anyone tell me what techie language I need to learn so I can do the whole Web and app and whatever thing?"

    So to begin with his real question is how can he go into IT, from a complete beginners position, not what language should he learn - that's already a step, maybe two ahead. And in the end, this interest for a career change was just a passing fancy at that, because after that initial post, they basically abandoned the thread to us debating things that have little to do with what he asked for in the first place.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    While I would be one to agree with Tom, I'll have to agree with you here on reflection as the OP never did mention programming. I think we've all been jumping to conclusions and projecting our own values of what they should do ever since.
    I thought that for a moment, then I remembered that this is the Development forum. So honestly, assuming someone is looking for help with a development problem (as opposed to just writing a html webpage), it's not that awful an assumption to be making.
    However, that aside, this appears to me to be a person who's lost their job, needs another, and seemingly IT looks like an attractive market.
    +1.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Sparks wrote: »
    I thought that for a moment, then I remembered that this is the Development forum. So honestly, assuming someone is looking for help with a development problem (as opposed to just writing a html webpage), it's not that awful an assumption to be making.
    It's very true, but how many people post to the wrong forum every day? I spend half my time as a moderator transferring threads about iPhones from the Android forum because people are too lazy, ignorant or dumb to read the title of the forum, let alone the charter.

    However, this poster probably had no idea what would be the best place to post - remember, for someone who knows nothing about IT, what is the difference between Web development and Web design, for example? How many think that HTML actually is a development language? For him/her it's probably all magical techie stuff.

    Anyhow, just giving them the benefit of the doubt. Either way, it's moot as they seemingly lost interest in IT shortly after their fist and only post in this thread.


  • Registered Users, Registered Users 2 Posts: 185 ✭✭Highcontrast1


    Your posts are enlightening to us lurking :-P
    Faced with a similar problem with op. I know a fair bit of html and css , not sure which language to pick up. I'm interested in developing web apps etc.
    My fear is picking up a language that won't get me employment somewhere down the line. Also, i have heard heard of a language not being scalable, what's does that mean?
    Thanks


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    My fear is picking up a language that won't get me employment somewhere down the line.
    Well, there's no easy answer to that. You have to consider whether it is going to take off when small, if it's going to be one of the main languages adopted by whichever sector of the market you're looking to be employed in (e.g. multinationals, banks or start-up dotcoms). How successful a language is, isn't necessarily based on how good it is, from a technical perspective, but also how good it is from a commercial one. And even if it is falling in popularity, it helps to be able to gauge how much legacy work it will attract for the next few years.

    All I can advise in this regard is keep your ear to the ground; job adverts will give you an idea of what languages are currently popular, or even still used for legacy projects. Various sites also exist that measure, in differing ways, what languages are in current use and how much. And of course there are numerous of the more serious programming online publications that will frequently publish their own opinions on what's hot, what's not and what's warming up...

    ...which is another consideration, because there's nothing better than being ahead of the curve in a technology. Learn it before most people do and you'll be able to command silly money for a while as others catch up. On the other hand, you might simply be wasting your time learning a language that'll at best be a historical curiosity in a few years time.

    In other words; read, research and analyse - unless you're a complete moron, you'll be able to broadly figure out what tech will pay the bills for you in the next few years.
    Also, i have heard heard of a language not being scalable, what's does that mean?
    Basically, it means it can scale up to service a greater user-base. For example, your average mom-n-pop-shop Web site does not need to be terribly scalable as it's probably only going to get a few thousand visitors a month (most of which will be bots) - it doesn't even need a dedicated machine, let alone anything more advanced.

    Now think of eBay, Google, even Boards, where you could be getting dozens, hundreds or thousands of simultaneous requests per second - what do you think that requires in terms of CPU and bandwidth? That's when you have to start thinking about linking multiple machines, multiple instantiations of the same application server, codebase and database(s) to share this load while still behaving, to the end user, as if they are one single site.

    With this in mind, some languages (and databases) lend themselves to scaling up better than others. It's one of the various considerations that you have to take into account when designing such an application, as what technology you use isn't solely dictated by what your development resources can code in (although you'd never guess this judging by how many Irish dev houses design their solutions).


  • Registered Users, Registered Users 2 Posts: 2,040 ✭✭✭Colonel Panic


    At the bottom end of the scaling thing, it's more the frameworks used and how the user written code is designed that matters in my experience. Hitting the database too much, using the database procedurally, using a framework that blocks too much, not caching data and the like are all things that don't take much code changes to have a huge impact on performance.

    At the high end... Reading Facebook engineering blog articles and talking to friends working in "big" dev companies blows my mind. Custom versions of frameworks, caches, databases and entire operating systems running in insane dedicated data centres.


Advertisement