Debating Java [split]

Forum organization and occasional community-building.
Forum rules
Questions about Ren'Py should go in the Ren'Py Questions and Announcements forum.
Message
Author
User avatar
Greeny
Miko-Class Veteran
Posts: 921
Joined: Sun Dec 20, 2009 10:15 am
Completed: The Loop, The Madness
Projects: In Orbit, TBA
Organization: Gliese Productions
Location: Cantankerous Castle
Contact:

Debating Java [split]

#1 Post by Greeny » Sun Jan 13, 2013 9:38 am

Awwww poppycock.

I really hope this will finally be the death blow to Java. I hate that language.
In Orbit [WIP] | Gliese is now doing weekly erratic VN reviews! The latest: Halloween Otome!
Gliese Productions | Facebook | Twitter
Image

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Java: Disable it. Just do it. Now.

#2 Post by Ayutac » Sun Jan 13, 2013 9:50 am

Greeny wrote:I hate that language.
Got another platform independent language that does care for types? (Unlike all script languages.) This is a honest question, I don't really know any.
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

User avatar
Shiz
Newbie
Posts: 18
Joined: Tue Jun 05, 2012 8:35 pm
Projects: Twofold
Organization: Salty Salty Studios
Contact:

Re: Java: Disable it. Just do it. Now.

#3 Post by Shiz » Sun Jan 13, 2013 4:13 pm

Ayutac wrote:
Greeny wrote:I hate that language.
Got another platform independent language that does care for types? (Unlike all script languages.) This is a honest question, I don't really know any.
Every strongly-typed language ever. No language (with some tiny exceptions) is inherently platform-bound, there are only libraries that make it so.
If you want something similar to Java (although I can not imagine why), C# via Mono is most similar, and I'd argue better.

Python also has type hinting if you have a high fetish for types.

Code: Select all

Python 2.7.3rc2 (default, Apr 22 2012, 22:30:17)
>>> 'Code' > 'Drama'
False

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Java: Disable it. Just do it. Now.

#4 Post by Ayutac » Sun Jan 13, 2013 6:08 pm

Shiz wrote:Every strongly-typed language ever. No language (with some tiny exceptions) is inherently platform-bound, there are only libraries that make it so.
Inherently. But you you have to differ between platforms after all and Java was so generous I didn't had to care at all (except for one key event bug).
Shiz wrote:Python also has type hinting if you have a high fetish for types.
It has the usual

Code: Select all

variable = 1
variable = "string"
which is typical for script languages (that more or less defines script language for me). With Java, there couldn't go much wrong, exceptions handle everything and no segmention fault stuff.
And yeah, I wasn't aware .NET tries to be platform independent too. Should work I guess. Anyway, thank you very much!
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

User avatar
Shiz
Newbie
Posts: 18
Joined: Tue Jun 05, 2012 8:35 pm
Projects: Twofold
Organization: Salty Salty Studios
Contact:

Re: Java: Disable it. Just do it. Now.

#5 Post by Shiz » Mon Jan 14, 2013 4:10 am

Ayutac wrote:
Shiz wrote:Every strongly-typed language ever. No language (with some tiny exceptions) is inherently platform-bound, there are only libraries that make it so.
Inherently. But you you have to differ between platforms after all and Java was so generous I didn't had to care at all (except for one key event bug).
Not if you use the right libraries.
Ayutac wrote:
Shiz wrote:Python also has type hinting if you have a high fetish for types.
It has the usual

Code: Select all

variable = 1
variable = "string"
which is typical for script languages (that more or less defines script language for me).
Dynamic typing defines a script language for you? Ehhhh. Then what is Boo? It doesn't name its types, but changing the type of its variables is an error.
Ayutac wrote:With Java, there couldn't go much wrong, exceptions handle everything and no segmention fault stuff.
The same goes for Python and the like. The last time I saw a segfault on Python was, well, never.

Code: Select all

Python 2.7.3rc2 (default, Apr 22 2012, 22:30:17)
>>> 'Code' > 'Drama'
False

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Debating Java [split]

#6 Post by Ayutac » Tue Jan 15, 2013 1:40 pm

The problem with the libraries is that others need them too.
It doesn't name its types

Code: Select all

a = 0L
It kinda does. Boo wouldn't be a script language for me, but I wouldn't like this basically always generic type of variables either.

The segmention fault was related to C and C++ of course, that's why I don't like them that much either, although I use them when I want to run my code fast for any reason (rare occasion).

Had a discussion with one of my computer science profs who is usually holding the beginners lectures where they teach the students the first programming language (Java at the moment). I was very pleased to hear he totally agrees with me in the point that strong typing is a good thing, as programmers make much less mistakes, for example.
Another thing he said was that C# is not that much platform independent since Microsoft has just no interest in that after all. They are not hindering it, but they are not supporting it either. And he said Mono can't realize all that what makes C# great.


In addition I was enlightened was the problem with Java was (my English's not that great), so stand-alone applications are no problem so I can still stick to Java because – well, it works. (Just nobody will ever use my browser applets anymore, fortunately I haven't written any |D)
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

User avatar
Biomass
Regular
Posts: 104
Joined: Tue Jan 01, 2013 11:13 pm
Contact:

Re: Debating Java [split]

#7 Post by Biomass » Tue Jan 15, 2013 7:57 pm

I'll parrot what I read on slashdot yesterday, there is nothing wrong with the concept of Java, just the execution. If the JRE wasn't apparently full of security holes and platform inconsistencies there would be far fewer people having this debate.

That said, I personally hate Java because I hate Eclipse. Some day I'll sit down and look up how to code Java without Eclipse.

User avatar
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

Re: Debating Java [split]

#8 Post by DaFool » Tue Jan 15, 2013 11:10 pm

Isn't HTML5, the current in thing, using javascript?

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Debating Java [split]

#9 Post by Ayutac » Wed Jan 16, 2013 2:15 am

@ Biomass: would NetBeans make it any better?

@ DaFool: Yeah, so? (Java != JavaScript)
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

User avatar
Biomass
Regular
Posts: 104
Joined: Tue Jan 01, 2013 11:13 pm
Contact:

Re: Debating Java [split]

#10 Post by Biomass » Wed Jan 16, 2013 7:57 pm

Ayutac wrote:@ Biomass: would NetBeans make it any better?
I've never tried NetBeans, but maybe? Diehard emacs user here.

RangerDanger
Regular
Posts: 45
Joined: Wed Jun 27, 2012 11:36 pm
Contact:

Re: Debating Java [split]

#11 Post by RangerDanger » Wed Jan 16, 2013 8:18 pm

Biomass wrote:
Ayutac wrote:@ Biomass: would NetBeans make it any better?
I've never tried NetBeans, but maybe? Diehard emacs user here.
Netbeans is actually quite a nice IDE. I use it quite frequently, when I am on a Windows machine. It has fantastic support for C/C++ and has very, very configurable options within that module. I believe as of now it supports: Java, C/C++, Fortran, PHP, HTML/CSS/Javascript, and Groovy.

User avatar
Shiz
Newbie
Posts: 18
Joined: Tue Jun 05, 2012 8:35 pm
Projects: Twofold
Organization: Salty Salty Studios
Contact:

Re: Debating Java [split]

#12 Post by Shiz » Sun Jan 20, 2013 10:26 am

Ayutac wrote:The problem with the libraries is that others need them too.
And there are enough cross-platform libraries for languages like C or C++ to knock yourself out with.
Ayutac wrote:
It doesn't name its types

Code: Select all

a = 0L
It kinda does. Boo wouldn't be a script language for me, but I wouldn't like this basically always generic type of variables either.
I'm just saying it's moronic to discern a language by its typing system, as a typing system too has many subtleties like static or dynamic typing, weak or strong typing, safe and unsafe typing -- those are all different qualifiers. C# (and C++ in C++11) added an 'auto' keyword for automatic type inference - does that make them scripting languages? In this specific example Boo variables surely have a (fixed) type, it's just implicit and inferred. It still provides all the 'safety' you'd want.
Ayutac wrote:Had a discussion with one of my computer science profs who is usually holding the beginners lectures where they teach the students the first programming language (Java at the moment). I was very pleased to hear he totally agrees with me in the point that strong typing is a good thing, as programmers make much less mistakes, for example.
That is idiotic. Intro language courses are meant for students to get a feel for programming and a hands-on with a language - the less obstacles in the way of that, the better. It's an introductory course, not a learn programming well and fast course - there are undoubtedly more advanced courses on that. There's a reason MIT, among others, switched to Python (or similar) for their intro courses.
Ayutac wrote:Another thing he said was that C# is not that much platform independent since Microsoft has just no interest in that after all. They are not hindering it, but they are not supporting it either. And he said Mono can't realize all that what makes C# great.
Mono had implemented C# 5.0 faster than Microsoft could come up with their .NET SDK update. A lot of cross-platform and device-specific frameworks are being developed right on top of Mono. That said, I'm not a fan of C# either, but I'll grant that it's definitely a lot more advanced than Java.
Biomass wrote:I'll parrot what I read on slashdot yesterday, there is nothing wrong with the concept of Java, just the execution. If the JRE wasn't apparently full of security holes and platform inconsistencies there would be far fewer people having this debate.
There is enough wrong with the concept of Java.

Code: Select all

Python 2.7.3rc2 (default, Apr 22 2012, 22:30:17)
>>> 'Code' > 'Drama'
False

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Debating Java [split]

#13 Post by Ayutac » Mon Jan 21, 2013 2:13 pm

Shiz wrote:
Ayutac wrote:Had a discussion with one of my computer science profs who is usually holding the beginners lectures where they teach the students the first programming language (Java at the moment). I was very pleased to hear he totally agrees with me in the point that strong typing is a good thing, as programmers make much less mistakes, for example.
That is idiotic. Intro language courses are meant for students to get a feel for programming and a hands-on with a language - the less obstacles in the way of that, the better. It's an introductory course, not a learn programming well and fast course - there are undoubtedly more advanced courses on that. There's a reason MIT, among others, switched to Python (or similar) for their intro courses.
I'm not sure if you called my professor's opinion idiotic or the way the introduction course is held. Both is arrogant. Also, the "strong typing = good thing" did not refer to the introduction course, if you thought that.
However, weak typing DOES support making mistakes. And if you get to teach people programming, who never had done anything there, you better start with doing it right and safe instead of fast. Code will be reused and coding errors cost a lot of money. I don't know MIT, maybe they only have very good students who never make mistakes? You must know their reasons, please tell us. Or were you just using an authority fact?
Once learned, it is no problem to go from a strongly typed to a weakly typed language. I imagine the opposite to be more annoying.
Shiz wrote:And there are enough cross-platform libraries for languages like C or C++ to knock yourself out with.
You see, I do not doubt you can do anything in any language what you can do in Java. Comes from the fact they are all Turing-complete. I'm just saying it is a little bit more difficult. Either you tell your fans to get this and that package, hoping they are safe, to let them compile everything. Or you have the luxury to compile everything from all the important OS (which you own, of course). Or you do some cross-compiling, as Ren'Py seems to do when creating the game. That is always a non-trivial step more that Java does not have.
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

RangerDanger
Regular
Posts: 45
Joined: Wed Jun 27, 2012 11:36 pm
Contact:

Re: Debating Java [split]

#14 Post by RangerDanger » Mon Jan 21, 2013 2:49 pm

Ayutec wrote: I'm not sure if you called my professor's opinion idiotic or the way the introduction course is held. Both is arrogant. Also, the "strong typing = good thing" did not refer to the introduction course, if you thought that.
However, weak typing DOES support making mistakes. And if you get to teach people programming, who never had done anything there, you better start with doing it right and safe instead of fast. Code will be reused and coding errors cost a lot of money. I don't know MIT, maybe they only have very good students who never make mistakes? You must know their reasons, please tell us. Or were you just using an authority fact?
Once learned, it is no problem to go from a strongly typed to a weakly typed language. I imagine the opposite to be more annoying.
Python is a great language to use in an intro CS course. It is easy to learn. This allows students to focus on learning about simple algorithms, data structures, and control structures without having to worry about a super rigorous syntax (like C/C++. Java, C#, etc).

It really isn't all that hard to go from one to the other. At least I have not seen it in my experience in my school's CS dept.
You see, I do not doubt you can do anything in any language what you can do in Java. Comes from the fact they are all Turing-complete. I'm just saying it is a little bit more difficult. Either you tell your fans to get this and that package, hoping they are safe, to let them compile everything. Or you have the luxury to compile everything from all the important OS (which you own, of course). Or you do some cross-compiling, as Ren'Py seems to do when creating the game. That is always a non-trivial step more that Java does not have.
Well, including libraries with your executable is rather trivial. No reason for someone to compile the source themselves, unless they want to, of course. I imagine that it is a similar process for Java, though I have never written anything professionally using Java.

User avatar
Ayutac
Regular
Posts: 150
Joined: Thu Oct 18, 2012 2:23 pm
Projects: Pokémon Dating Sim
Organization: A Breeze Of Science
Deviantart: Ubro
Location: Mayence, Germany
Contact:

Re: Debating Java [split]

#15 Post by Ayutac » Mon Jan 21, 2013 3:50 pm

Yes, you have to worry about less in Python than in Java. So you learn not to worry about things, which is not so good. Algorithms should come after one learned to program, because first you have to get one simple thing into the student's head: The computer does EXACTLY what you tell him to do. That's better done with a type strict language because students will notice their starter mistakes easier. The only advantage of using Python for starters I see is that they have to learn indention right, seeing the weak typing as a disadvantage, because it will come up to programmers, at least in C.
(And the program with the included libraries still only runs on the OS that compiled them.)

I feel kind of misunderstood...
Up next: An original, open source, text-based Dating Sim. Stay tuned ;)

Post Reply

Who is online

Users browsing this forum: No registered users