Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (476)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 2 [3] 4 5 6
  ignore  |  Print  
  JavaScript is a scam  (Read 12683 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej
« Reply #60 - Posted 2011-11-04 16:22:23 »

Et je n'ai pas aucune problème avec le Français!
J'aurais plutôt écrit "Et je n'ai aucun problème avec le Français". S'il te plait, ne massacre pas ma langue natale.

Translation: I would rather have written "And I have no problem with French." Please, do not slaughter my mother tongue.


I have only a little experience in JavaScript but I agree with longino. There are a lot of nice APIs in JavaScript but I find it harder to debug and harder to maintain than Java. Making something really object oriented in this language requires some more efforts, it has nothing to do with only writing its own methods, you're not fair with longino. I suffered a lot on Elixir, a SDK for ADSL top boxes provided by the Internet service provider Free... I don't find this language really interesting, I understand that some people like it, it does not surprise me but I just hope I won't be forced to maintain a very large source code in this language as I feel more comfortable with statically typed languages.

Offline Son Of Cain

Junior Member





« Reply #61 - Posted 2011-11-04 16:25:27 »

Et je n'ai pas aucune problème avec le Français!
J'aurais plutôt écrit "Et je n'ai aucun problème avec le Français". S'il te plait, ne massacre pas ma langue natale.

Translation: I would rather have written "And I have no problem with French." Please, do not slaughter my mother tongue.


I have only a little experience in JavaScript but I agree with longino. There are a lot of nice APIs in JavaScript but I find it harder to debug and harder to maintain than Java. Making something really object oriented in this language requires some more efforts, it has nothing to do with only writing its own methods, you're not fair with longino. I suffered a lot on Elixir, a SDK for ADSL top boxes provided by the Internet service provider Free... I don't find this language really interesting, I understand that some people like it, it does not surprise me but I just hope I won't be forced to maintain a very large source code in this language as I feel more comfortable with statically typed languages.

Je suis désolé.. although, had it been you making a mistake in Portuguese, my native language, I'd not rush to call it slaughter.

But wait, don't compare JS and Java.. points on JS are taken, but a "large codebase" of JS would only be accepted at front-end centric web apps, with little to no delegation to server side code.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #62 - Posted 2011-11-04 16:59:01 »

[...]
warts like the need for ===  aside.
Lots of languages have separate comparators for "is equal to" == and "is identical to" ===.  Not supporting both would be officially bad.
[...]

You don't actually need == and != in JavaScript though. I for one don't use them. It's a lot easier this way.

弾幕 ☆ @mahonnaiseblog
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JL235

JGO Coder


Medals: 10



« Reply #63 - Posted 2011-11-04 17:27:26 »

[...]
warts like the need for ===  aside.
Lots of languages have separate comparators for "is equal to" == and "is identical to" ===.  Not supporting both would be officially bad.
[...]

You don't actually need == and != in JavaScript though. I for one don't use them. It's a lot easier this way.
One place they are useful is if your not sure you'll be receiving a number, or a string representation of a number, or either (i.e. "1.0" == 1.0). For that, it's useful.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #64 - Posted 2011-11-04 20:38:25 »

[...]
You don't actually need == and != in JavaScript though. I for one don't use them. It's a lot easier this way.
One place they are useful is if your not sure you'll be receiving a number, or a string representation of a number, or either (i.e. "1.0" == 1.0). For that, it's useful.

That's not something you should be doing. It makes everything more complicated. Now you have to document that it also accepts strings. For the sake of symmetry, lots of other functions now also have to accept strings. (Why the f- would anyone want to pass numbers around as strings anyways?)

Also, that "1.0" == 1.0 example is kinda unusual. FWIW, I'd write something like that as +foo === 1 (coerce to Number and then check if that number is 1).

Well, that is if I would allow numbers as strings. I don't. It's always a bug. See some number in quotes somewhere? That's a bug. Fix it.

If it's some text input from somewhere else, I turn it into a number right away. I won't even store the original string anywhere. I don't have any use for it.

弾幕 ☆ @mahonnaiseblog
Offline appel

JGO Wizard


Medals: 50
Projects: 4


I always win!


« Reply #65 - Posted 2011-11-04 20:40:26 »

Javascript's "popularity" was accidental. It was originally created to do simple interaction with web pages, forms, etc. Then all of the sudden the web took off, and now javascript is the most popular language in the world (no kidding).

Considering where javascript started and what it could do back then, it's amazing how much it can do today compared to other technologies that started off at the same time (hint, java applets).

Javascript is as powerful as you want it to be. It's already getting pretty fast in modern browsers, and may be sufficient for some real-time games.

In the near future it will be THE language of choice for doing whatever projects you can think of. Everything will be running browsers, with a Javascript engine, televisions, your fridge, your shower, your toilet. Shunning away Javascript because you dislike some aspects you deem important in your own mind is so childish and will only result in you being so less competitive in the programming world in a few years.

Check out the 4K competition @ www.java4k.com
Check out GAMADU (my own site) @ http://gamadu.com/
Offline Nate

JGO Kernel


Medals: 145
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #66 - Posted 2011-11-04 20:46:31 »

Funny, I use JavaScript daily and run a single-page-app framework with thousands of lines of code and I'm using classes. Seems to work just fine. And it's not a regular web page app, it's designed for television, meaning all input interaction must be coded and handled in code.

Just because you don't know better doesn't make JavaScript bad, there are tons of libraries out there, frameworks, etc. that can help tremendously.
This is how I see JavaScript developers... they hack away with JavaScript, eventually figure out how to do what they want, and in the end they can say, look, this is quite neat, it can do what I want! Just because a tool can get a job done doesn't make it the best tool for the job, or even a good tool for any job.

Saying JavaScript is the future is such a joke. Embrace it or hurt your career? Ha! Give it a few years and the script kiddies will discover typed languages, think they are doing something new and magical, and start a movement which brings us full circle.

I've done a lot of JavaScript. I was doing "AJAX" with iframes in NS4/IE4 in 2001 before it was called AJAX. In 2004 I worked on a project that had 60k lines of JavaScript. It is a nice language for small projects. I wouldn't choose it for medium sized projects. For large projects, it is an absolute mess. The same is probably true of any dynamically typed languages, even if they have some fancier features than JavaScript (eg, Ruby).

Offline appel

JGO Wizard


Medals: 50
Projects: 4


I always win!


« Reply #67 - Posted 2011-11-04 21:00:06 »

Funny, I use JavaScript daily and run a single-page-app framework with thousands of lines of code and I'm using classes. Seems to work just fine. And it's not a regular web page app, it's designed for television, meaning all input interaction must be coded and handled in code.

Just because you don't know better doesn't make JavaScript bad, there are tons of libraries out there, frameworks, etc. that can help tremendously.
This is how I see JavaScript developers... they hack away with JavaScript, eventually figure out how to do what they want, and in the end they can say, look, this is quite neat, it can do what I want! Just because a tool can get a job done doesn't make it the best tool for the job, or even a good tool for any job.

Saying JavaScript is the future is such a joke. Embrace it or hurt your career? Ha! Give it a few years and the script kiddies will discover typed languages, think they are doing something new and magical, and start a movement which brings us full circle.

I've done a lot of JavaScript. I was doing "AJAX" with iframes in NS4/IE4 in 2001 before it was called AJAX. In 2004 I worked on a project that had 60k lines of JavaScript. It is a nice language for small projects. I wouldn't choose it for medium sized projects. For large projects, it is an absolute mess. The same is probably true of any dynamically typed languages, even if they have some fancier features than JavaScript (eg, Ruby).
Problem is isn't what I dream of having, it's what I have and what I can do with it.

I'm programming IPTV portals, GUI's, as a day job. Now we recently got this new fancy set-top-box and I'm creating a new portal with jQuery, HTML5, CSS and all that fancy smancy... what I'm saying here is that I don't have the choice of NOT doing it like that. The set-top-box has a browser, Opera, it has a JS engine, a decent one, and in order for me to make those animations, to make a GUI that behaves and works well I have to use Javascript.

Javascript developer? There is no such thing. I write Javascript all day, and still I don't consider myself as a javascript developer. I only see it as a means to an end, I'm a GUI guy, I design and make GUI's work on the screen, I want the customer to have a seamless, fast experience, and my company to have the best looking interface out there. Javascript is just a tool to do that. If I don't want to do any Javascript, I'd have to quit my job, and someone else would have to pay my bills.

Nobody is saying Javascript is the best tool for "the job", whatever that job is. It's the best available on the platform you have to work with. I didn't hire myself to my job to write javascript code, I hired myself to get good looking GUIs out there to the customer. Anyone who has such a static view on their job, "code in language X, everything else is blasphemy", I pity them.

And I've written in enough code, scripts, languages, to know that they come and go. Javascript is one of them, but from where I am sitting it's future seems bright.

Check out the 4K competition @ www.java4k.com
Check out GAMADU (my own site) @ http://gamadu.com/
Offline longino

Junior Member


Medals: 1



« Reply #68 - Posted 2011-11-04 22:32:39 »

In the near future it will be THE language of choice for doing whatever projects you can think of. Everything will be running browsers, with a Javascript engine, televisions, your fridge, your shower, your toilet. Shunning away Javascript because you dislike some aspects you deem important in your own mind is so childish and will only result in you being so less competitive in the programming world in a few years.

Hahahaha. JavaScript doesn't even begin to address the needs of modern software developers. Concurrency anyone?

What a joke. JavaScript won't ever be anything more than scripting for clueless developers who don't know any better simply because it doesn't solve any problem that needs solving.
Offline pitbuller
« Reply #69 - Posted 2011-11-04 22:37:32 »

Javascript's "popularity" was accidental. It was originally created to do simple interaction with web pages, forms, etc. Then all of the sudden the web took off, and now javascript is the most popular language in the world (no kidding)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

If we can trust TIOBE index it's still far from being most popular. Java and c is still top dogs. After tha comes C++, PHP, C#, Objective-C, (Visual) Basic, Python and   Perl.  After that there is JavaScript. Popularit seems to have stalled to under 2.5%. So what I am saying is that it's not all about web browsers. There is ton of stuff where java script just isn't the right tool(same aply to Java even if its almoust ten times more popular)
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline longino

Junior Member


Medals: 1



« Reply #70 - Posted 2011-11-04 22:44:16 »

Totally agree.  From a pure expressiveness standpoint, prototype based are significantly more powerful then OO.  They were developed because the strict class hierarchies of OO is a big ugly chain on design.

Have you ever tried developing a real application without OO? It gets ugly, quickly. As your codebase grows it becomes harder and harder to maintain. OO is a necessity, but it doesn't exclude other options.

That's the point: OPTIONS. JavaScript takes my options away and forces me to work in a very limited and stupid way.
Offline theagentd
« Reply #71 - Posted 2011-11-05 00:31:22 »

I just gotta say this: How can Javascript be the future if the latest processors have 4 to 8 cores? Seems like a really slow future to me.

Myomyomyo.
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 743
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #72 - Posted 2011-11-05 00:35:58 »

Node.js (V8) uses a tried and true strategy: multiple processes.

Serverside, when doing a lot of parallel tasks, this is not a bad solution.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline princec

JGO Kernel


Medals: 342
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #73 - Posted 2011-11-05 01:46:02 »

Ok when your workload is like that but nothing I've worked on before has really fit that particular workload. I can see a lot of specific cases where it would be fine but... more cases that aren't. And the client, of course.

Add proper threading APIs and support to JS and the argument would be moot of course.

Cas Smiley

Offline appel

JGO Wizard


Medals: 50
Projects: 4


I always win!


« Reply #74 - Posted 2011-11-05 03:55:12 »

If there's anything we know for sure (if we can know anything for sure) is that the web is here to stay. Luckily for Javascript it is the language of choice for the web, besides html, and is the only scripting language available in all modern browsers.
What that tells us is that Javascript will remain very strong for the unforeseeable future, will be actively developed, supported, and browser software makers (Microsoft, Google, Firefox, Opera, etc.) will be working hard to optimize Javascript, and there's still plenty room for that.

Multithreading? You already have that in Javascript, it's called Web Workers, and is part of HTML5.
http://dev.w3.org/html5/workers/
There are so many neat things in html5 that make web development very cool.

I believe Javascript is still in it's infancy. It will be continued to be pushed to it's limits as computer hardware becomes more and more powerful.


HTML5, CSS, Javascript, it's really a rag-tag mix of technologies, but they seem to do the job. I'm not sure anyone would design things like this if they had to make the web again, but it's here to stay.

I'd never use javascript for anything but the web.


Regarding the TIOBE rating:
Quote
The ratings are based on the number of skilled engineers world-wide, courses and third party vendors
The thing with javascript is that people with all sorts of skills are writing in it. When I said it was the most popular it means it is used by more people than the other ones, regardless of skill or area or expertise of those people.

Check out the 4K competition @ www.java4k.com
Check out GAMADU (my own site) @ http://gamadu.com/
Offline JL235

JGO Coder


Medals: 10



« Reply #75 - Posted 2011-11-05 09:41:17 »

Totally agree.  From a pure expressiveness standpoint, prototype based are significantly more powerful then OO.  They were developed because the strict class hierarchies of OO is a big ugly chain on design.

Have you ever tried developing a real application without OO? It gets ugly, quickly. As your codebase grows it becomes harder and harder to maintain. OO is a necessity, but it doesn't exclude other options.

That's the point: OPTIONS. JavaScript takes my options away and forces me to work in a very limited and stupid way.
Prototype based programming is a form of object-orientation.

In the near future it will be THE language of choice for doing whatever projects you can think of. Everything will be running browsers, with a Javascript engine, televisions, your fridge, your shower, your toilet. Shunning away Javascript because you dislike some aspects you deem important in your own mind is so childish and will only result in you being so less competitive in the programming world in a few years.

Hahahaha. JavaScript doesn't even begin to address the needs of modern software developers. Concurrency anyone?
Web Workers and Intel's Parallel Extensions for JS are to options for JS concurrency. More are being developed.

Offline longino

Junior Member


Medals: 1



« Reply #76 - Posted 2011-11-05 18:09:43 »

Multithreading? You already have that in Javascript, it's called Web Workers, and is part of HTML5.

Great, now JavaScript can reach where Java was in 1995.  Roll Eyes

Multithreading alone is insuficient for modern software development. Controlling critical regions manually is inadequate because it is cumbersome and error prone. It makes as much sense as manual memory management.

I am working on a language that supports actors natively because of that.

JavaScript will stay around the same way Perl is still around. But it doesn't make it good nor a viable option for real applications.
Offline longino

Junior Member


Medals: 1



« Reply #77 - Posted 2011-11-05 18:13:57 »

Prototype based programming is a form of object-orientation.

No, it isn't. It doesn't support inheritance without horrible hacks. Prototypes only allow you to create structures for objects, and that's it.

Not even close to OO. Java is quite limited in the OO department and it can do a lot more than JS could ever dream of.

Web Workers and Intel's Parallel Extensions for JS are to options for JS concurrency. More are being developed.

See my previous post.

Concurrency model using threads and shared variables is on its way out.
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 743
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #78 - Posted 2011-11-05 18:21:27 »

By your standards, Java is a scam.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline sproingie

JGO Kernel


Medals: 201



« Reply #79 - Posted 2011-11-05 19:03:24 »

I felt kinda scammed when Sun dropped Self and switched to such a traditional language.  But to be fair, it was easier to market than a Smalltalk derivative, and we got a pretty nice VM out of it (with JIT that came from the Self folks).

I ramble and digress, but is there really a topic to derail?  Wink

Offline woogley
« Reply #80 - Posted 2011-11-05 19:12:41 »

No, it isn't. It doesn't support inheritance without horrible hacks. Prototypes only allow you to create structures for objects, and that's it.

I can appreciate that you're an agitated troll who likes a good rant, but now you're just being ignorant. Read up: http://en.wikipedia.org/wiki/Prototype-based_programming

What you seem to be actually angry about is the fact that JavaScript tends to rely on duck typing rather than "Foo implements Bar"
Offline JL235

JGO Coder


Medals: 10



« Reply #81 - Posted 2011-11-05 19:44:04 »

Multithreading? You already have that in Javascript, it's called Web Workers, and is part of HTML5.
Multithreading alone is insuficient for modern software development. Controlling critical regions manually is inadequate because it is cumbersome and error prone. It makes as much sense as manual memory management.

I am working on a language that supports actors natively because of that.
JavaScript web workers use the actor model.

Offline longino

Junior Member


Medals: 1



« Reply #82 - Posted 2011-11-05 21:28:57 »

What you seem to be actually angry about is the fact that JavaScript tends to rely on duck typing rather than "Foo implements Bar"

WTH, when did duck typing and OO become mutually exclusive?

JavaScript is bad because it lacks simple constructs that developers need.



Offline longino

Junior Member


Medals: 1



« Reply #83 - Posted 2011-11-05 21:32:44 »

JavaScript web workers use the actor model.

Actors as an external library exist even in Java, it is not as good as having the language itself do it for you (like in Erlang or my own language).

JavaScript as it is today, it is simply unsuitable for serious development.
Offline appel

JGO Wizard


Medals: 50
Projects: 4


I always win!


« Reply #84 - Posted 2011-11-06 00:01:22 »

Comparing JavaScript with Java, C++, etc. is totally pointless. Way different target platforms and uses.

Check out the 4K competition @ www.java4k.com
Check out GAMADU (my own site) @ http://gamadu.com/
Offline JL235

JGO Coder


Medals: 10



« Reply #85 - Posted 2011-11-06 00:07:51 »

Comparing JavaScript with Java, C++, etc. is totally pointless. Way different target platforms and uses.
I get the loose impression he thinks Java and JavaScript are related.

JavaScript web workers use the actor model.
Actors as an external library exist even in Java, it is not as good as having the language itself do it for you (like in Erlang or my own language).
It's not an external library, it's a standardized part of the JS runtime.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #86 - Posted 2011-11-06 02:38:53 »

[talking about Node]
Ok when your workload is like that but nothing I've worked on before has really fit that particular workload. I can see a lot of specific cases where it would be fine but... more cases that aren't.[...]

Well, the workload of generating websites is perfect for this. Your own code always waits for the database/disc/caches/network/whatever. With an event loop you can do something else in the meantime and there is virtually no overhead.

I'd never use javascript for anything but the web.

I like it for scripting/automation. I.e. things I used to do with Python, batch files, or even small Java programs.

弾幕 ☆ @mahonnaiseblog
Offline Evil-Devil

Senior Member


Medals: 2


Fir Tree Master


« Reply #87 - Posted 2011-11-07 11:16:31 »

I wonder why so many people hate the lack of real inheritance with javascript. The language is not designed to work like any OOP language. Though the prototype way is somehow more powerfull for a language like javascript.

The most powerfull thing in JS is imho the fact to write any function and attach it to any literal you or the specs defined. Thats power Wink
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #88 - Posted 2011-11-07 11:30:27 »

I wonder why so many people hate the lack of real inheritance with javascript. The language is not designed to work like any OOP language. Though the prototype way is somehow more powerfull for a language like javascript.

I kinda agree that inheritance feels like a flimsy hack in JS. It reminds me of going back to C and having to write v-tables manually - unnecessary extra work for something that feels like it should be built-in at a language level.

In my head I know that it's a different style of language and so you have to do things differently - that it's not a 'traditional' OO language (whatever that is). But when you're just trying to Get Things Done it's very easy to get frustrated as it makes you type a bunch of boilerplate again and again.

I suspect a large amount of this head problem may be the syntax. I don't have this problem with Python or Ruby because they 'feel' so much different. It's much easier to get into a different mindset while using them. JS 'feels' too similar to Java or C++, so you start expecting to be able to do the standard things that you can do in those languages (like built-in inheritance).

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline Evil-Devil

Senior Member


Medals: 2


Fir Tree Master


« Reply #89 - Posted 2011-11-07 11:51:19 »

When you write to much javascript code, then you might have to overthink your idea or change the behavior. When i look back at some old javascript code i feel really awkward about is. Because today i know ways to make it smaller, faster and neater and without any use of inheritance needed.

The Prototype Object itself does work like inheritence. Any object that has been derived from another objects prototype will inherit its magic, but so far i haven't had much use for inheritence in javascript yet despice the small stuff provided by those js frameworks.
Pages: 1 2 [3] 4 5 6
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (22 views)
2014-07-24 01:59:36

Riven (20 views)
2014-07-23 21:16:32

Riven (17 views)
2014-07-23 21:07:15

Riven (20 views)
2014-07-23 20:56:16

ctomni231 (48 views)
2014-07-18 06:55:21

Zero Volt (44 views)
2014-07-17 23:47:54

danieldean (35 views)
2014-07-17 23:41:23

MustardPeter (38 views)
2014-07-16 23:30:00

Cero (53 views)
2014-07-16 00:42:17

Riven (52 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!