PDA

View Full Version : Comparison of three languages, which one is the best for beginners?



eliasjth
February 11th, 2014, 02:52 PM
Hi! We are four students studying at School of Engineering, Jönköping University in Sweden. We are currently working on a project regarding three programming languages, Java, C# and Python. In this project we’re doing a survey on which one is the most suited for new programmers. We would appreciate if you took five minutes of your time to complete our survey.
Thanks in advance!

http://survey.rudbeck.nu/?l=en

Discussion: What language of the three do you think is the most suited for beginners and why?

tgalati4
February 11th, 2014, 03:19 PM
Python because it has the RaspberryPi as an educational tool to help teach programming.

ofnuts
February 11th, 2014, 04:14 PM
Hi! We are four students studying at School of Engineering, Jönköping University in Sweden. We are currently working on a project regarding three programming languages, Java, C# and Python. In this project we’re doing a survey on which one is the most suited for new programmers. We would appreciate if you took five minutes of your time to complete our survey.
Thanks in advance!

http://survey.rudbeck.nu/?l=en

Discussion: What language of the three do you think is the most suited for beginners and why?

Python because that's the one with which you can see a bit farther than procedural and half-assed object-oriented programming.

King Dude
February 11th, 2014, 09:02 PM
C#, Python, and Java have rather different, yet somewhat similar, uses. C# is more for web servers, while Java and Python are more for desktop applications. Java, although extremely portable, sucks up memory and power like nobodies business. Python on the other hand, although slightly less portable than Java, has an amazingly clear syntax, and is used a lot in scientific computation.

Honestly, Python would be someone's best bet at a beginner's programming language, simply because of the syntax. However, if you want more power while maintaining a clear syntax, I suggest checking out Julia (http://julialang.org/). Although Julia is a very new language, it is very promising since it combines the "best-of-breed" C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. I also encourage anyone who currently programs in Python, C, Fortran, Octave, R, or MATLAB to give Julia a look.

Here's a free Intro to Programming (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/) class, provided by MIT OpenCourseWare. It teaches the Python programming language, for beginner programmers with little to no prior experience with programming. The Khan Academy also provides educational videos for beginning Python/general-purpose programming, which can be found here (https://www.khanacademy.org/science/computer-science-subject/computer-science).

ofnuts
February 11th, 2014, 09:47 PM
C# is more for web servers, while Java and Python are more for desktop applications.

Desktop applications in Java? There are some, but Java is mostly used in "enterprise" servers.


Java, although extremely portable, sucks up memory and power like nobodies business

Not Java. Bloated and overdesigned (http://geek-and-poke.com/geekandpoke/2014/1/2/games-for-the-real-geeks-part-2) Java apps.

xb12x2
February 12th, 2014, 02:21 AM
Java is popular on Windows desktops and Linux desktops, and so is Python. But Java is the de facto language for developing Android apps. And because of the growing popularity of Android devices it is probable that the Android O.S. will soon be common on desktop PCs.

If your goal is to work as a developer, then of these three languages Java gets the nod as far as I'm concerned.

Vaphell
February 12th, 2014, 03:25 AM
beginners don't whip up android apps, so that's meaningless. Python gets my vote, you are not bogged down by unnecessary boilerplate and get to do the fun stuff right off the bat. As the xkcd guy said in his talk, python is awesome because you write pseudocode and it works :)

tgalati4
February 12th, 2014, 05:57 AM
Why is Pascal not on the list?

xb12x2
February 12th, 2014, 06:39 AM
beginners don't whip up android apps, so that's meaningless.

Even developers that whip up Android apps were beginners at one time.

The original poster is an engineering student. So one could assume he intends to work as a developer.

Yes, Python might be easier for you. But that is not what the OP asked. He asked, "What language of the three do you think is the most suited for beginners and why?"

As opposed to looking only at the effort required, as you seem to do, I am also looking at the possible results. So my answer was not meaningless, it just came from using a slightly different set of criteria.

lisati
February 12th, 2014, 07:12 AM
Why is Pascal not on the list?

Agreed that Pascal is at least worthy of mention.

For a bit of fun, I'll mention COBOL and BASIC. :D

Vaphell
February 12th, 2014, 01:13 PM
Even developers that whip up Android apps were beginners at one time.

The original poster is an engineering student. So one could assume he intends to work as a developer.

Yes, Python might be easier for you. But that is not what the OP asked. He asked, "What language of the three do you think is the most suited for beginners and why?"

As opposed to looking only at the effort required, as you seem to do, I am also looking at the possible results. So my answer was not meaningless, it just came from using a slightly different set of criteria.

Yes, 'a beginner' not 'beginner specifically planning to churn phone apps'. And what if he wanted to be a corporate drone whipping up windows-centric enterprise software? C# then?
I have that funny feeling you consider python a joke language that is generally a waste of time for any 'serious' programmer.

Expecting someone to learn only 1 language to rule them all and call it a day is not reasonable. Any programmer worth his salt knows a handful of languages at a respectable level.
Beginners are supposed to learn stuff like functions, loops, conditionals first, things that exist in pretty much all languages and make for a solid base. Rigid structure of java shoving OOP down the throat, requiring ungodly amounts of boilerplate and a gig of memory worth of ide is not fun, on the other hand python that is expressive and very flexible is. Seriously, if you wanted your mother to learn programming 101, what would you choose, java or python?

And effort vs results means a lot especially to beginners, because initial experience is what can make or break a novice programmer. Granted it was not java, but c++, but it's also a complicated language with a ton of gotchas and it did break me in the past, making me avoid programming for few years. Bash (yes, really) and python made coding fun again.

tgalati4
February 12th, 2014, 04:44 PM
LISP, Algor, ADA, Fortran77 or later, there are a lot of languages that are useful and teach key programming concepts. Even juggling OP codes during assembly programming provides an appreciation of the computer arts. Anyone here program an analog computer using patch cables to solve a differential equation? Now that is programming.

http://shubhamcms.blogspot.com/

xb12x2
February 12th, 2014, 08:03 PM
I have that funny feeling you consider python a joke language that is generally a waste of time for any 'serious' programmer.

You would be wrong. Just like I might be wrong if I said that maybe you always choose the easy path.

Android apps are not just "phone apps." Many Android apps are tablet apps. And tablets are increasingly outselling PCs, with no let-up in sight. And soon I suspect the Android OS will become common on the dwindling desktop PC sales, so some Android apps will be all sorts of common desktop apps too.

Yes, I am a serious programmer:
I make my living developing system modules and firmware for various OS, mostly Windows and Linux based. When I provide a new driver to a customer I also provide a little application that will test and prove that my driver does everything to which we ageed. Sometimes that application is written in Python, sometimes in C/C++, sometimes Java. I give the customer that choice so that they can leverage my simple application as a cut-and paste jump-start for their development. As a system developer I've also written a boat-load of assembly. And out of curiosity I play with new languages all the time.


Seriously, if you wanted your mother to learn programming 101, what would you choose, java or python?

The original poster is an engeenering student, not your mother. He asked which language of these three, Python, C#, Java, he should learn. He did not ask for the easiest one of the three to learn. At this time I think Java will give the best return on his investment. Especially as PC sales dwindle and tablet sales explode.


Granted it was not java, but c++, but it's also a complicated language with a ton of gotchas and it did break me in the past, making me avoid programming for few years.

Yes, you had a hard time with C++ and so you gave up on it. As a hobbyist you had the luxury to give up. But the original poster appears to be an engeenering student preparing for a career.

slickymaster
February 12th, 2014, 08:12 PM
Python, because it is overall, the most convenient language for learning. The natural syntax means students spend less time grokking code than with terser languages. Beyond the clean syntax Python’s flexible nature allows it to support all the common programming paradigms and concepts, which is very handy for someone who wants to learn programming as efficiently as possible.

For example object-oriented, imperative, and even functional programming paradigms can all be introduced using Python. The dynamic typing system makes it easy to try advanced practices like “aspect-oriented” design and “inversion of control” through “dependency injection” without complicated libraries. Somehow, amazingly, Python handles all of these crazy ideas with the same grace it handles
print ‘hello world.’

Edit: Even though, I'm a Java developer by profession.

ofnuts
February 12th, 2014, 10:09 PM
The original poster is an engeenering student, not your mother. He asked which language of these three, Python, C#, Java, he should learn. He did not ask for the easiest one of the three to learn. At this time I think Java will give the best return on his investment.

I see a lot of awful Java code, not caused by language difficulties but by lack of logic if not of common sense, so Java must be learnable by bad programmers. It even seems to attract them(*). I have to give an opinion on potential hires and someone who knows only Java is highly suspect.

(*) though I suspect this is also true of C# but I have no first-hand experience.

xb12x2
February 12th, 2014, 11:14 PM
I see a lot of awful Java code, not caused by language difficulties but by lack of logic if not of common sense, so Java must be learnable by bad programmers. It even seems to attract them(*). I have to give an opinion on potential hires and someone who knows only Java is highly suspect.


I agree. But I would add that no language causes more bad code from more sub-par coders than does C++.

In a perfect world (where I was in charge of such things) Java and C++ would not exist. Python and C would cover all those bases.

Since tablets are becomming the mainstream computing device, I hope that Python becomes more popular for creation on tablets . While it is technically possible to create Android apps using Python, it is not at all feasible.

According to the popular web-sites that purport to rank the current usage of programming languages, C is still the most used.

Most, if not all, system-level programming is done in C (yes, assembly still exists as do horse saddles). And this does not look to change anytime soon. I never see a new language created as an attempt to address system-level programming. It just doesn't happen.

Vaphell
February 12th, 2014, 11:40 PM
Yes, you had a hard time with C++ and so you gave up on it. As a hobbyist you had the luxury to give up. But the original poster appears to be an engeenering student preparing for a career.

Who said i was a hobbyist? I studied telecom branch of Electronics and Information Tech and had just enough C++ to avoid any kind of programming for few years.
At the MIT they use python in the intro courses, there must be some reason for that.

nothingspecial
February 13th, 2014, 12:05 AM
Did anyone do the survey?

The idea was which is the easiest, not whether or not tablets had anything to do with it.

xb12x2
February 13th, 2014, 12:19 AM
Did anyone do the survey?

The idea was which is the easiest, not whether or not tablets had anything to do with it.


From the survey:

"This survey is designed to investigate three programming languages and see which of them most suitable for beginners who wants to learn programming".


Define "most suitable". Nowhere does it say "easiest".

Given only the choice of C#, Python, or Java, Java would be the "most suitable" for me to learn if I were starting out at this time. However, I think a better choice by far would be to learn C. But that isn't one of his choices.

trent.josephsen
February 13th, 2014, 02:58 PM
Let's not let this thread get out of hand. We've (http://ubuntuforums.org/showthread.php?t=2178301) had (http://ubuntuforums.org/showthread.php?t=2133100) this (http://ubuntuforums.org/showthread.php?t=2131527) discussion (http://ubuntuforums.org/showthread.php?t=2183826) many (http://ubuntuforums.org/showthread.php?t=2138371) times (http://ubuntuforums.org/showthread.php?t=2182497) over (http://ubuntuforums.org/showthread.php?t=2187396) (and I only went back one year). There's no consensus, but generally the people who suggest learning Java as a first language are in the minority; that's a fact of this forum and not a universal truth. It's my opinion that Python is much to be preferred over Java for learning programming, whatever Java's advantages may be for other purposes and regardless of what career goals one may have.

Odexios
February 13th, 2014, 06:44 PM
The original poster is an engeenering student, not your mother. He asked which language of these three, Python, C#, Java, he should learn. He did not ask for the easiest one of the three to learn. At this time I think Java will give the best return on his investment. Especially as PC sales dwindle and tablet sales explode.
As far as I can see, the original poster is an engineering student making a survey for a project, not asking for what language would be best for him to learn. Your points might still be valid, but he asked what language would be best for a generic beginner, not himself.

Vaphell
February 13th, 2014, 07:33 PM
Define "most suitable". Nowhere does it say "easiest".

You haven't said one thing for why java is suitable, except for 'b-b-but industry'.
It's like saying you should learn how to autocad in your intro architecture classes because that's what you will do slaving for money, before even grasping how to draw by hand and what the rules governing perspective are.
Where is the problem with switching to java after few months, in programming 102 if necessary, once you know what boolean logic, if, for-loop and while-loop are?

Most suitable for a beginner is the one that sells the basic concepts of the craft in the easiest, most comprehensible way. Python does that, java does not because it comes with lots of overhead that is a pure waste of brainpower at this stage.

xb12x2
February 13th, 2014, 08:10 PM
As far as I can see, the original poster is an engineering student making a survey for a project, not asking for what language would be best for him to learn.

That's a good point. So the question is "What is the best language for the project?"

My take was "What language will best help entry-level professionals that have not yet decided on a specific area?"

Those are both less vague questions than "What language is best to learn to program?"
And since the original poster gave three, and only three specific languages (C#, Python, Java) I don't think this is the question. He listed these three languages because he has a goal beyond just learning to program.

xb12x2
February 13th, 2014, 08:27 PM
You haven't said one thing for why java is suitable, except for 'b-b-but industry'.


I'm sorry if I offended you.

However, 'b-b-but industry' is a valid argument.

xb12x2
February 13th, 2014, 08:50 PM
To the original poster: Your very short list of languages to choose from causes confusion as to what you're actually asking.

If you want to know the best language to learn programming, you might consider not constraining the answer to such a very short list of three languages. With such a short list there is a very good chance the correct answer lies outside that list.

If, however, you selected those three languages for specific reasons, please tell us what those reasons are.

Vaphell
February 13th, 2014, 09:55 PM
I'm sorry if I offended you.

However, 'b-b-but industry' is a valid argument.

No it's not. Languages come and go. N years ago it would be b-b-but industry COBOL, M years ago it would be b-b-but industry C/C++ or pascal or whatever. Do you stumble upon these languages often on your average day?

Programming 101 has nothing to do with industry, everything with the basics.

trent.josephsen
February 13th, 2014, 10:16 PM
My take was "What language will best help entry-level professionals that have not yet decided on a specific area?"

And your answer was "Java"? *raises eyebrow skeptically*

Are you the xb12x who wrote this (http://ubuntuforums.org/showthread.php?t=1978647&page=2&p=11930953#post11930953)? I would have thought you'd appreciate that Java is only a relatively insignificant portion of modern software development. To then suggest learning Java to people who have no particular interest or inclination towards it, solely on the strength of Android, doesn't seem right to me. In particular, when faced with a choice between Java and a comparably powerful, easier-to-learn language with less syntactic cruft, a shorter edit-compile-run cycle and more flexibility in code structure, choosing Java just seems nonsensical. Unless one starts out with the goal of doing Android development (and even then...).

ofnuts
February 13th, 2014, 10:30 PM
I'm sorry if I offended you.

However, 'b-b-but industry' is a valid argument.

Not really... if you know a bit of OO in another language (Python, for instance), you can put Java in your resume, and learn in in two days if you have an interview, and this will put you in the same standing as other candidates who learned Java in school. Because "the industry" is not about Java. The industry is about frameworks around Java. They want people who know Spring, Hibernate, JSP, EJBs... But since these frameworks change every two years and project architects follow "code fashion" (they call it "best practices") the really important thing is to convince a potential employer that you can be to proficient quickly with any framework that will be thrown at you. And this is more easily done when you know several things than when your computing horizon stops at java.nio(*).

(*) This afternoon I drafted for my PM the skills required for new hires. Java was a teeny-weeny part...

xb12x2
February 13th, 2014, 11:11 PM
And your answer was "Java"? *raises eyebrow skeptically*

Are you the xb12x who wrote this (http://ubuntuforums.org/showthread.php?t=1978647&page=2&p=11930953#post11930953)?

Yes. I lost my original login account during Ubuntu's breach awhile back.


I would have thought you'd appreciate that Java is only a relatively insignificant portion of modern software development. To then suggest learning Java to people who have no particular interest or inclination towards it, solely on the strength of Android, doesn't seem right to me.

But he does have an interest in Java, else why is it in his list?


In particular, when faced with a choice between Java and a comparably powerful, easier-to-learn language with less syntactic cruft, a shorter edit-compile-run cycle and more flexibility in code structure, choosing Java just seems nonsensical.

So my answer is nonsensical because you don't agree with my reasons?

Perhaps it seems nonsensical to you because you assume his goal is ONLY to learn programming regardless of what he might actually program. I don't think that's so, else (again) why such a short, specific list? His list tends to frame his question (at least to me).

All things considered, I would probably teach C in my Introduction to programming 101 class. C is still the most popular language in use today (and I'm a system-level developer). Or maybe Lisp, or Smalltalk, or GO, or Julia, or even Pascal. But those were NOT in his LIST.


Unless one starts out with the goal of doing Android development (and even then...).

Java is also very popular on Windows and Linux, more popular than Python, actually. Whether it should be is not the question: Yes, I like Python better than Java. I also like spending money more than earning it.

It would be wise for any university student to consider how the industry he hopes to enter is changing. Like it or not, PC sales are dwindling, to the extent that many experts claim we're in the post-PC era.

Iowan
February 13th, 2014, 11:30 PM
Yes. I lost my original login account during Ubuntu's breach awhile back.
You know, that can probably be fixed by starting a thread in the Resolution Centre (http://ubuntuforums.org/forumdisplay.php?f=123)
(Apologies for going off-topic...)

trent.josephsen
February 14th, 2014, 12:08 AM
Yes. I lost my original login account during Ubuntu's breach awhile back.
Sorry to hear that.


So my answer is nonsensical because you don't agree with my reasons?
Yes.


All things considered, I would probably teach C in my Introduction to programming 101 class.
That we'll never agree on :) I like using C but I'd never inflict it on somebody with zero programming experience, any more than I'd put someone who'd never driven in a Formula 1 car.

I don't see that it's a problem for a beginner to start out with a language that's good for learning and then later switch if they find they need to. In fact, I'd expect that most students learn several languages in school, and probably get a job working in some other language, because programming languages are, by and large, interchangeable. Given that, I don't understand why you would deliberately start students on a difficult language, which is just an obstruction to learning the basics.

xb12x2
February 14th, 2014, 01:22 AM
So you think my reasons are nonsensical because you disagree with them. That might not be the definition of Ad hominem, but it's close enough for government work.

Another poster said one of my reasons was meaningless, and in a following post reduced one of my reasons to 'b-b-but industry'. Definitely Ad hominem arguments.


This Python love-fest seems a little like arguing Darwinism with a poorly educated preacher: At best logic is annoying, worse case it's blasphemy.

My ad hominem retort: Your just stupid (something my young son says to his older sister when logic and words fail him).


Trent, if you've read some of my previous posts (as xb12x) you at least know I'm consistent. Even though I'm an accomplished assembly coder I would NOT recomend learning assembly to any university student. Why? Because it's not used anymore. C has replaced it because C compilers are much better today than when coders were forced to write assembly (and exceptions to this just prove the rule, as the saying goes).

Would I actually teach C in an Introduction to Programming 101 class? Maybe not. Would I require a student to learn some C before graduation? Probably. But pehaps that is my own prejudices poking through. Good or bad, C is still the most popular language being used today.

Would my list of programming languages for students be the same list the OP gave? Not at all. The current future of application development is mobile devices, clouds, servers, browsers, etc. and so on. Will C remain as the dominant system-level language? I see nothing on the horrizon to take its place.

As to why I would "deliberately start students on a difficult language, which is just an obstruction to learning the basics." Because I don't agree with your premise. And because the advantages of learning Java over Python would outweigh any of your perceived disadvantages, anyway. Those students actually preparing for careers as developers would do better, in my opinion, learning Java if the choices are only C# vs Python vs Java. A qualified instructor can teach programming using Java. And those students that would pass at Python but fail at Java are not the students I'm talking about.

We are in the post-PC era. And any educator worth his salt would know this and teach accordingly. Yes, you could argue the value derived from leaning how to use a slide-rule, but who would make it a practical part of a university program? Nobody, because its time has gone.


x

Vaphell
February 14th, 2014, 02:23 AM
So you think my reasons are nonsensical because you disagree with them. That might not be the definition of Ad hominem, but it's close enough for government work.

Another poster said one of my reasons was meaningless, and in a following post reduced one of my reasons to 'b-b-but industry'. Definitely Ad hominem arguments.

do you even understand what 'ad hominem' is?


This Python love-fest seems a little like arguing Darwinism with a poorly educated preacher: At best logic is annoying, worse case it's blasphemy.

It looks quite the opposite, from my PoV it's you who is a creationist here. People coming from different backgrounds generally agree that python is a good starter language. You haven't mentioned a single argument for why java makes up for a good educational tool and there were few given why it is not, which you haven't countered.


My ad hominem retort: Your just stupid (something my young son says to his older sister when logic and words fail him).

If only you knew the 3rd grade grammar, someone might take your words more seriously...


We are in the post-PC era. And any educator worth his salt would know this and teach accordingly. Yes, you could argue the value derived from leaning how to use a slide-rule, but who would make it a practical part of a university program? Nobody, because its time has gone.

So you are saying that in the post-PC era variables, conditionals and loops, you know, things you are supposed to learn in programming 101, cease to exist? That's news to me.
I already gave example of autocad vs drawing by hand for architects. If you are unable to sketch stuff with a pencil, you are going to be a ****** architect even with the best support tools available, end of story.

xb12x2
February 14th, 2014, 04:03 AM
You haven't mentioned a single argument for why java makes up for a good educational tool and there were few given why it is not, which you haven't countered.

I shouldn't have to point this out, as it seems self-evident, but my views of what is educational to engineering students preparing for careers as developers might be different from your views.

My suspicion is that Python is not the only language being used to teach our future developers in universities. I suspect different instructors have many interesting reasons for the languages they choose. I'll bet some idiot instuctors are even teaching C++. And I'll bet their idiot students are even learning it (and not giving up).

trent.josephsen
February 14th, 2014, 04:15 AM
Sorry, "nonsensical" may have been a poor choice of words.

Assembly is still useful and has not been replaced by C. I agree, C is a valuable part of any programming curriculum. I don't see what "application development" and "the post-PC era" have to do with a discussion in which neither applications nor PCs have been assumed except by you. I'm done.

(Edit -- I did the survey, and I encourage others to submit their opinions as well. Presumably OP & friends hope to learn something from this kind of poll.)

xb12x2
February 14th, 2014, 05:37 AM
I don't see what "application development" and "the post-PC era" have to do with a discussion in which neither applications nor PCs have been assumed except by you.

Really? You don't see what application development has to do with C#, Python, and Java? Or what C# and Python and Java have to do with PCs? And by extension what PCs have to do with the so-called post-PC era?

O.k. then, never mind!

llanitedave
February 14th, 2014, 06:27 AM
In particular, when faced with a choice between Java and a comparably powerful, easier-to-learn language with less syntactic cruft, a shorter edit-compile-run cycle and more flexibility in code structure, choosing Java just seems nonsensical. Unless one starts out with the goal of doing Android development (and even then...).

And even then, there's Kivy, is there not?

Vaphell
February 14th, 2014, 11:31 AM
I shouldn't have to point this out, as it seems self-evident, but my views of what is educational to engineering students preparing for careers as developers might be different from your views.

"self-evident" is a really good argument, not creationist at all... not.

You still haven't explained why programming 101 is supposed to be geared towards the industry right off the bat, just asked us to assume it's true (begging the question) and haven't explained why engineering students are different from other beginners. People are going to study this **** for 5 years and they can have their java in programming 201+ but no, apparently 4 years of gearing towards industry is not enough, it's got to be 5.

I like how you even mentioned pascal in your "not on the list" list. Why pascal and what difference between it and python make it suitable for intro classes but not python?
If it's the industry bias that you want, you should include javascript that is all the rage nowadays, way above java that has some of its lunch eaten by C#.

xb12x2
February 14th, 2014, 04:01 PM
You still haven't explained why programming 101 is supposed to be geared towards the industry right off the bat

Actually, Vaphell, the original poster did not mention a particular class. The first mention of programming 101 in this thread was in one of your posts, believe it or not!


and haven't explained why engineering students are different from other beginners.

Engineering students are different from other beginners because:

They aren't hobbyists. They are future technology professionals.
They only have a certain amount of precious time at the university.
If they can learn the fundamentals WHILE aquiring a worthwile tool, that's good.
In my opinion they can learn the fundamentals of programming from any one of these debated languages. Even C#. I didn't select C# because it locks them into Windows more or less. That same sort of reasoning applies to why I selected Java: I see it being generally more useful not only in the short term, but in the long run. So I'm discounting the differences in fundamentals in favor of the usability differences.
And so on.

Let me reiterate this point: I'm discounting the differences in fundamentals in favor of the usability differences.

But maybe the most important reason to me pesonnally:
Their parents are probably paying BIG BIG BIGTIME to send their little technologists to university. They better darn well get jobs.



Which brings me to this point:
Perhaps what is really going on here is that I struck a nerve with some by discussing the dwindling PC market versus the explosion of android devices (with clouds and servers and browsers, etc) as part of my reasoning. I'm sorry if some of you fear your hard-won skills becoming less relevant. But it's not my fault. It's happening no matter what I say. Since we're here on the Ubuntu Forums, what do you think the Unity UI is all about? What do you think that project was that Conical tried to get crowdfunded?

Vaphell
February 14th, 2014, 05:23 PM
Actually, Vaphell, the original poster did not mention a particular class. The first mention of programming 101 in this thread was in one of your posts, believe it or not!

programming 101 can mean both literally classes or very basic basics in general in common language. Doesn't change much imho.


Engineering students are different from other beginners because:

They aren't hobbyists. They are future technology professionals.
They only have a certain amount of precious time at the university.
If they can learn the fundamentals WHILE aquiring a worthwile tool, that's good.

Doesn't matter, basics are the same for all people. You do indeed find python a joke language despite it being mostly a 'type english and it will work' thing, just like pascal, which is ok in your opinion, was.

I am asking you who will be faster up and running, a wannabe engineer that can write pseudocode that works or a wannabe engineer who not only has to learn all the basics, but also has to suffer from the insane verbosity of java, needs to be familiar with IDE that makes writing programs remotely viable and is forced into a one true paradigm of OOP.
What about scientific simulations? I don't think many people use java for that, python+scipy would be more like it.

Let me guess, you'd also advocate people learning MSO2013 (Word, Excel et consortes) not word processors or spreadsheets in general, because that's what lands you jobs? The former makes you a specialized, admittedly efficient monkey, the latter actually involves flexibility, wide horizons and translatable universal skills. Guess which one is more beneficial in the long run.


Their parents are probably paying BIG BIG BIGTIME to send their little technologists to university. They better darn well get jobs.

Degrees are 95% signaling, 5% actual knowledge. As ofnuts said, java alone on your resume won't impress anybody and you better know a handful of languages and frameworks in addition.
I am all for accounting for ROI when it comes to higher education but come the f on.



Which brings me to this point:
Perhaps what is really going on here is that I struck a nerve with some by discussing the dwindling PC market versus the explosion of android devices (with clouds and servers and browsers, etc) as part of my reasoning. I'm sorry if some of you fear your hard-won skills becoming less relevant. But it's not my fault. It's happening no matter what I say. Since we're here on the Ubuntu Forums, what do you think the Unity UI is all about? What do you think that project was that Conical tried to get crowdfunded?

WTF are you talking about here? Nobody gives a rat's ass about PC market because that has nothing to do with the topic at hand: is language X conductive to learning programming or not.

Also: it's Canonical not Conical, plus Unity is all about Qt=C++/QML/javascript.
Also #2: javascript >> java. Javascript is literally everywhere today, java is not.

ofnuts
February 14th, 2014, 10:49 PM
Their parents are probably paying BIG BIG BIGTIME to send their little technologists to university. They better darn well get jobs.

Welcome to the EU, where (good) education is free... or at least tuition-less.

xb12x2
February 14th, 2014, 11:32 PM
WTF are you talking about here? Nobody gives a rat's ass about PC market because that has nothing to do with the topic at hand: is language X conductive to learning programming or not.

Thanks for correcting my Canonical/Conical typo. In a similar spirit of helpfulness let me suggest conducive instead of conductive.

Yes, language X is conductive to learning programming. Now, which one is language X?

And your statement that nobody gives a rat's ass about the PC market in this thread might be so, but it doesn't change MY reasoning for picking language X. Or did I pick language Y? Whatever language I picked, I certainly regret it now because of your forceful use of "WTF" and "rat's ass". Is it too late to change my choice?

A little too sarcastic? Yes, I'm no longer trying to be serious so I'lll stop now before I get myself kicked off. But don't take it personnally, Vaphell. I won't be ignoring your future posts in this thread, just not responding, trying to stay active on this forum.