Jump to content

Should I learn JavaScript?

Cy-Fy

Yes, JavaScript is far superior to any other of the languages that people consider "noob friendly".

 

You can make 2D and 3D games in JavaScript and HTML5.

 

Python will just confuse you further when you come to learn useful languages.

I'm sorry, are you saying JavaScript's syntax is LESS confusing than Python's? Are you a masochist or something?

 

-snip-

I wouldn't consider JavaScript to fit in their either. But Python is certainly more suited than JavaScript is. Python has Panda3D!

 

Python is great for making buildbots and other scripts. If you ever compile Google OSP's from source you will see how much they use it. They hired its designer for six years, I mean how more admiring can you get of a language than that?

 

You seem to think that syntax is the most important part of a language. If it were, PHP and JavaScript would be the least popular solutions for web development and yet they are the most important for web development. Learning only languages with C based syntax is a crippling strategy considering functional languages are probably the future and virtually every programmer worth listening to believes that learning languages with different syntaxes is one of the most enlightening things you can do for yourself as a programmer.

 

I'm not even sure why I have to argue with you about this. When it comes right down to it, it's the OP's personal choice. I've seen too many people confused by being dropped headfirst into a sink-or-swim situation with C family languages. Python is almost universally considered a great place to start for several reasons including reference counting and a readability focus. It really shouldn't matter what language they learn if they can get used to it and they can make great things in it. Python is just a good place to start because you don't have to deal with memory management or ugly syntax to boot.

 

Python is used in commonly in Academia, so it must have some sort of appeal.

 

I agree though. The syntax is just dumb and causes lots of confusion.

I have never heard of anyone getting confused with Python syntax. JavaScript syntax, on the other hand...

 

Python is used everywhere. I have colleagues in computational biology that use Python for protein folding general scripting use. Google uses it internally for a lot of projects, including all of their build scripts for Chromium and Android too for all I know.  The performance is increasing everyday with JIT compilers like PyPy and frankly the syntax is awesome compared to other modern language syntaxes such as JavaScript and PHP and almost all older syntaxes (save Lisp). 

 

Let me just tell you that if Python ran as fast as C++ in every situation, nobody would be using C++. Python syntax is so heavily enjoyed by almost everyone that uses it that it's replacing Java and C++ in situations where performance doesn't matters much.

"You have got to be the biggest asshole on this forum..."

-GingerbreadPK

sudo rm -rf /

Link to comment
Share on other sites

Link to post
Share on other sites

Any hints as to what those engines could be? A big point for JS is that Unity has full support for it, in case the developer doesn't want to go with C#.

True Unity is the big one these days but there are plenty of others out there. http://en.wikipedia.org/wiki/List_of_game_engines I'm too lazy to count but JS and Python seem pretty evenly represented in the scripting column.

 

The default language for Windows 8 Apps (the ones integrated in Modern UI), is JS (well, more precisely, HTML5, which heavily relies on JS).

Fair enough, I've been avoiding Windows 8

 

 

As far as picking a first language I really don't think syntax matters that much (things like whitespace and brainfuck aside) as long as they teach the basic concepts like loops, conditionals and functions. After you know what they are, going from

for i in range(0,10):

to

for(var i=0;i<10;++i){}

isn't that big of a deal. Whichever you learn first you should have no problem going to the other.

1474412270.2748842

Link to comment
Share on other sites

Link to post
Share on other sites

okay.....let's start this from the beginning.

 

 

what is the simplest language to get a GUI hello world running in?

 

the champ is undeniably html/css/JS/jQuery

 

why?

 

no compiling.  no GUI framework with complex element initialization

 

they should NOT have to worry about visuals because all GUI generation code is unique to each language.  they should spend their time learning cross-language stuff (programming concepts ala foreach loops),  no platform can beat the web platform in this objective.

Link to comment
Share on other sites

Link to post
Share on other sites

Hello guys, I've noticced that many people these days want to learn how to program. I don't know how to do any of this but I would like to start learning something online to see whether I like this type of thing or not. My friend is learning JavaScript at his school but they don't do that in my school, so I was thinking that maybe I could learn this online or something.

 

Now the questions are,

 

1) Is it worth it learning JavaScript?

 

2) Is it useful for making high end pieces of simple software - like games/apps etc? 

 

3) Is it very hard to learn and make good use of it?

 

Thanks very much guys for all of your advice!! :)

1) Depends what you use it for, but it can be useful on making things work smoothly on your website.

2) Maybe?, Not from my knowledge.

3) No, its east to learn and use.

4) From all the different languages i know python is confusing compared to JAVA and PHP and JavaScript

Intel Core i7 3770K - MSI Z77A-G45 - Patriot Viper 3 8GB 2x4GB - GTX 760 - Zalman Z9 - Logitech G910 - Logitech G502 - Sennheiser HD 518 - Blue Snowball - Windows 10 64-bit

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

^ Please, don't make people start learning Python; It's a pointless language unless you want to make tiny, albeit sometimes fun, projects. It does nothing better than any other moderately modern language, it just hangs around in the background with Ruby. It will also cause unnecessary confusion when he decides to progress into real programming languages, because it will not work the same way much of the time.

 

Excuse you?

 

http://www.blender.org/documentation/blender_python_api_2_69_10/#blender-python-documentation

Link to comment
Share on other sites

Link to post
Share on other sites

JavaScript is incredibly useful for web development. It is a terrible language though (conceptually). You should learn it if your objective is doing web development, because asynchronous pages are the bomb at the moment. If not, then learn something else.

 

And lol at people saying Python is useless, has bad syntax, and "is not a good place to start". 

Want to solve problems? Check this out.

Link to comment
Share on other sites

Link to post
Share on other sites

 

Sigh... Yes? This conversation is open again?

 

How does Python being the language used to interact with Blender make my post any less valid? It's a tiny (but growing and maturing, I'll admit that), niche 3D tool for those on tight budgets, or for those who only want to use open source wares. It, just like Python, does nothing "better" than the "real solutions"; That doesn't mean it does it worse, just that it doesn't to it "better". Which means...(?), you could just as well use, and learn, the conventional stuff. Obviously, I'm not saying that JavaScript does it "better" either; Nothing does anything "better" if it can complete the tasks you set out to do.

 

This topic was about whether or not the OP should learn JavaScript (look at the title of the topic, will you?), which quickly became a place for Python-supporters to wave their flags in an effort to sway the OP from starting out with a great and more conventional language like JS to Python. Sure, Python is a great language for fast prototyping or to perform tasks that would be tedious with more conventional languages, I actually did retract parts of my statement about Python being a "pointless language" in later posts if you care to have a read through the rest of the thread, that still doesn't make it a language I'd suggest learning before JavaScript – That'd be madness.

 

So to re-iterate:

 

Start with JavaScript? Sure, that's a great language to start with and the web (where it's mostly used) is an endlessly growing and evolving platform.

 

Did you enjoy JavaScript? Awesome, learn some new languages to get more into programming!

 

Could one of these new languages be Python? Certainly, it can be useful, and it's easy to learn too!

 

Don't make a person asking about starting with JavaScript start with Python instead just because it's "easy" or "user-friendly". JavaScript is powerful and growing rapidly, and it's the de facto standard for any modern web application (be it a game, a website or an "app"), and it's not that hard to learn either.

 

People who absolutely love Python are like fanboys with their guerrilla propaganda. The language is not that great, really. You can do many things with it, but so can all the other languages too. Don't discourage a person from wanting to learn JavaScript because you love another language, that's just ridiculous. If OP wanted to learn Python, OP'd have started a topic asking about that; or asking about what language to start with. Same goes if a person wants to learn C and wants to know the ups and downs for learning it; Don't take over the thread to convince him to learn Java instead, that's not what he asked for.

 

Cheers,

Linus

Cheers,

Linus

Link to comment
Share on other sites

Link to post
Share on other sites

JavaScript is how I started. I think it's a great language to learn... I mean, given the web it is so ubiquitous now that it's really useful to know.

Link to comment
Share on other sites

Link to post
Share on other sites

What you really want to learn is PROGRAMMING, some these people seem hung up on the applications of each language, and though I don't know where python is really useful, I haven't encountered it yet in a windows environment.

 

Anything that is not a one of the big 'C like' languages (I.e. C, C++) is often overlooked for their inferior speed due to the fact that they are compiled at some point and probably run on some low level an application (Virtual machine).

For example I have heard many people talk about how java is absolutely pointless because of this but if you want to make an application that works on OSX, Linux and Windows, with minimal effort your code just works because of the Java Virtual Machine.

 

Android's most documented programming language IMO is java too but your java programs won't work on android without a fair level of blood sweat and tears.

 

C# (read: C sharp) is microsofts 'EZPZ' coding language for the windows environment, if we are looking at making games Unity uses C# and there is the mono community whose projects allow you to use C# outside of just windows operating systems (the microsoft environment is a bit weird and messy with their whole Common language runtime but thats another story).

 

To the subject at hand Javascript (note it has nothing whatsoever to do with java) is often seen as a scripting language though some like to call it the C of the internet because aside from whatever the browser you have it running in's features its actually pretty bare bones. This combined with the fact that OO in js is baffling to a novice user and you may find (infact I highly recommend) that you should learn one of the C like languages first and then move onwards to 'scripting' languages.

 

No matter the language being able to go from

// How the snippet is read in the english languagefor each item in array    item becomes a new Item

to this in java

for(Item item: array) {   item = new Item();}

to this in C#

foreach(Item item in array){   item = new Item();}

to this in js (in an environment with ECMAScript5 support)

array.forEach(function(item) {    item = new Item();});

That is the most important thing.

 

 

TLDR
 

1) Is it worth it earning JavaScript?
YES its a very widely used language, just don't make it your main focus and it probably shouldn't be what you first learn with

 

2) Is it useful for making high end pieces of simple software - like games/apps etc?  
Yes and no, very useful, not purely used in making pieces of software

 

3) Is it very hard to learn and make good use of it?

It can be if you want to learn the fundamentals of programming (and you want to do that) using only Javascript, its not hard to make good use of when you know what to use it for

Link to comment
Share on other sites

Link to post
Share on other sites

and though I don't know where python is really useful, I haven't encountered it yet in a windows environment.

 

Python is as useful as any other language. Dropbox and Mercurial are examples of high-profile applications written in Python.

 

I agree with the general idea of what you said (disregarding a few things), but there's something that you do not make clear. There are better languages than others. JavaScript and PHP are examples of bad languages. 

 

I would not recommend anyone to start with JavaScript unless they specifically need it for client-side web development. And I'll add to that the fact that a lot of people don't know how to write good code in JavaScript.

Certain languages instill better practices on the programmer than others, so this question may be valid. Now, if someone asks me "Should I start with Java, or C?", then it is irrelevant since both are top quality languages, and great for beginners to learn.

Want to solve problems? Check this out.

Link to comment
Share on other sites

Link to post
Share on other sites

Python is as useful as any other language. Dropbox and Mercurial are examples of high-profile applications written in Python.

 

I agree with the general idea of what you said (disregarding a few things), but there's something that you do not make clear. There are better languages than others. JavaScript and PHP are examples of bad languages. 

 

I would not recommend anyone to start with JavaScript unless they specifically need it for client-side web development. And I'll add to that the fact that a lot of people don't know how to write good code in JavaScript.

Certain languages instill better practices on the programmer than others, so this question may be valid. Now, if someone asks me "Should I start with Java, or C?", then it is irrelevant since both are top quality languages, and great for beginners to learn.

How are php and javascript bad? They are just VERY barebones.

also I'm curious how you think C is a good beginners language, its not managed and I assume the error messages are as non-descriptive as C++ ones

Link to comment
Share on other sites

Link to post
Share on other sites

How are php and javascript bad? They are just VERY barebones.

also I'm curious how you think C is a good beginners language, its not managed and I assume the error messages are as non-descriptive as C++ ones

 

There are so many reasons why JavaScript is a bad language: how global variables work, the scope is a mess, types are a mess, the charset is a mess, reserved words that aren't even used, a ridiculous amount of values that evaluate to false, how certain operators are handled (such as bitwise operators) is a mess, the weird mix of prototyping and oop.. I could go on. JavaScript is a great language when you know how to use it though.

PHP is less of wreck, but still bad. I'll direct you to an excellent post by Jeff Atwood.

 

On to your second point, by managed are you speaking of memory? Garbage Collection is a great feature to have, it really is (and Java has it), but I personally find manual memory management appealing, and it is undeniably more efficient when done right. Others may find it appealing too. C is a great language.

Error messages aren't as descriptive.. Well, again personally I find low-level coding appealing, and so may others. That's the price to pay when you're working at a low-level. But there are tools that can be used to debug memory errors, and others, that are as descriptive as Java's exceptions (which aren't really error messages.. Java just prints the stack trace by default). An example is Valgrind.

Want to solve problems? Check this out.

Link to comment
Share on other sites

Link to post
Share on other sites

There are so many reasons why JavaScript is a bad language: how global variables work, the scope is a mess, types are a mess, the charset is a mess, reserved words that aren't even used, a ridiculous amount of values that evaluate to false, how certain operators are handled (such as bitwise operators) is a mess, the weird mix of prototyping and oop.. I could go on. JavaScript is a great language when you know how to use it though.

PHP is less of wreck, but still bad. I'll direct you to an excellent post by Jeff Atwood.

 

On to your second point, by managed are you speaking of memory? Garbage Collection is a great feature to have, it really is (and Java has it), but I personally find manual memory management appealing, and it is undeniably more efficient when done right. Others may find it appealing too. C is a great language.

Error messages aren't as descriptive.. Well, again personally I find low-level coding appealing, and so may others. That's the price to pay when you're working at a low-level. But there are tools that can be used to debug memory errors, and others, that are as descriptive as Java's exceptions (which aren't really error messages.. Java just prints the stack trace by default). An example is Valgrind.

yeah i've never really been a fan of the prototype approach and always pretend it doesn't exist when I use JS, in terms of bitwise operations, I don't have enough experience to comment, I assume this is why people love to compile to JS with their highly optimised code? :L

 

Absolutely on the memory management, every now and then in java I go.. that should probably not exist anymore when I debug but the point was that as a beginner I don't think hitting memory management would be a priority till they were sure programming was for them, I guess my teachers liked to keep coaxing people in with the friendlier options xD

Link to comment
Share on other sites

Link to post
Share on other sites

In my honest opinion YES, JS is a must learn for webpages/applications.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×