|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On April 29 2015 08:56 Nesserev wrote:Hmmm, that looks interesting, but I always thought that mathematically proven code/certified code was limited to the realm of functional programming. I only glossed over the tutorial, is this the same thing? Show nested quote +On April 29 2015 09:02 Blitzkrieg0 wrote: Read the page where it shits all over Java and was pretty amused. Where do they shit on Java? Do you mean the page 'A Java Example' in the tutorial? Depending on what you mean by mathematically proven/certified, but Astree do static analysis on C code, for example, it "was able to prove completely automatically the absence of any RTE in a C version of the automatic docking software of the Jules Vernes Automated Transfer Vehicle (ATV) enabling ESA to transport payloads to the International Space Station".
|
On April 24 2015 12:35 Ben... wrote:Show nested quote +On April 24 2015 08:03 FFGenerations wrote: oh yeah anyone know what a CD is? apprently we have to "burn" one to submiit this idk what that is I feel old. I thought he was joking.
|
On April 29 2015 08:19 FFGenerations wrote:well i just submitted my Perfect Verification Studio shit attempt + shit report if you're interested in what it is check out http://www.eschertech.com/tutorial/tutorials.phpits a programming language/software for designing (constructing) code and verifying it against specifications that you also have to construct ive literally never seen something so difficult to understand. i got to the end of the Basic tutorial understanding nothing and then suddenly they stop giving full code samples and i'm just laughing in disbelief i've never felt that something is so plain out of my capabilities as this. i just hope he gives me 40/100 so i dont have to do it again, its just flat out beyond me Calling a programming language "Perfect" is... stupid, I guess? Maybe I'm being too nice here. Probably.
|
It's pretentious as fuck at the very least.
|
It seems like an important part of being a programmer is telling other programmers that their language of choice is absolute shit. Probably at least 100 pages in this thread are dedicated to that But yes, you are an asshole if you name a language 'Perfect'
|
The thing is: programming languages are rarely "of choice" for professionals, that's why it's ok to criticize them without risking to hurt sensibilities. Plus, I would argue that we're telling other programmers that OUR own language is absolute shit and giving the advice to not touch it, ever. I mean, nobody should willingly choose Java. It's just there, immovable and seemingly impervious to the mark of time (well they did add lambdas, yoohoo!!) so that's what we have to use. But if you have to choose, don't pick that, and ask around for a better option that we will be happy to provide :D
Edit: And all of this coming from someone who TEACHES fucking java to students (so I'm part of the never-ending problem, in a way).
|
One important factor is that there is a HUGE amount of information, code and support available online for popular languages like php or Java. This should always be factored in. The languages may not be perfect, but you get your job done with them.
|
On April 30 2015 03:11 ZenithM wrote: Edit: And all of this coming from someone who TEACHES fucking java to students (so I'm part of the never-ending problem, in a way).
I hope you preach to your students how terrible of a language java is in your classes. One of my professors did that.
|
I work in C# and I am glad it's not Java, but I have my fair share of issues with that language as well. Mainly stuff introduced in C# 1.0 that will never be cleaned up because that would mean breaking changes.
|
|
On April 30 2015 03:34 Blitzkrieg0 wrote:Show nested quote +On April 30 2015 03:11 ZenithM wrote: Edit: And all of this coming from someone who TEACHES fucking java to students (so I'm part of the never-ending problem, in a way). I hope you preach to your students how terrible of a language java is in your classes. One of my professors did that. Haha, I try not to. One thing that Java does right for beginners (but is a huge pain to programmers :D) is that there really is just one way to write something, and you can't take shortcuts. Rigid design choices like "one class per file", type annotations everywhere even where it could be inferred, etc...
On April 30 2015 04:14 solidbebe wrote: So why is java that bad? There are 2 ways to go about this. Either you type just that in google and I'm sure you'll find plenty of blog posts about why Java sucks. Or you pick any remotely modern programming language with a vague object layer, and read what it's advertised for: that's probably something Java doesn't have.
Edit: The JVM is powerful however. Some design flaws from a long time ago, but otherwise it's just fast, scalable and quite efficient.
|
On April 30 2015 06:10 ZenithM wrote:Show nested quote +On April 30 2015 03:34 Blitzkrieg0 wrote:On April 30 2015 03:11 ZenithM wrote: Edit: And all of this coming from someone who TEACHES fucking java to students (so I'm part of the never-ending problem, in a way). I hope you preach to your students how terrible of a language java is in your classes. One of my professors did that. Haha, I try not to. One thing that Java does right for beginners (but is a huge pain to programmers :D) is that there really is just one way to write something, and you can't take shortcuts. Rigid design choices like "one class per file", type annotations everywhere even where it could be inferred, etc... There are 2 ways to go about this. Either you type just that in google and I'm sure you'll find plenty of blog posts about why Java sucks. Or you pick any remotely modern programming language with a vague object layer, and read what it's advertised for: that's probably something Java doesn't have. Edit: The JVM is powerful however. Some design flaws from a long time ago, but otherwise it's just fast, scalable and quite efficient.
"One class per file" isn't true. You can have nested class. I think you can even define classes separately on one file as well.
Java is a really good language with really good syntax for beginners. As soon as you want to have more control, Java becomes terrible. No deterministic destructor (finalize is unreliable), no deterministic memory deallocation, no pass by reference unless you pass an object. C# solves that by having 'ref' and 'out' though. In a way, C# seems like better or more advanced Java.
P.S. I don't think Java forces 'one class per file' because as far as I remember, some of Java's classes declare classes within the same file.
|
On April 30 2015 01:26 ZenithM wrote:Show nested quote +On April 29 2015 11:21 Blitzkrieg0 wrote:On April 29 2015 10:50 teamamerica wrote:On April 29 2015 09:50 Blitzkrieg0 wrote:On April 29 2015 08:56 Nesserev wrote:Hmmm, that looks interesting, but I always thought that mathematically proven code/certified code was limited to the realm of functional programming. I only glossed over the tutorial, is this the same thing? On April 29 2015 09:02 Blitzkrieg0 wrote: Read the page where it shits all over Java and was pretty amused. Where do they shit on Java? Do you mean the page 'A Java Example' in the tutorial? http://www.eschertech.com/tutorial/tutorial1/perfect_oo_differences.phpAll their examples are why java is a terrible language. What defines a terrible language? I am really curious why you dislike Java so much. Google/all web scale companies , financial trading firms/your TV/atm/phone/microwave all get good use out of it. Terrible language is vague, but when your description says Java does this and Perfect does not this then the creator clearly didn't like the conventions of Java and think it is a terrible language. I said I found this amusing, not that I disliked java. You would have the right to dislike it though, it truly is terrible. Having coded for years in Java, I could argue for days about why it's terrible, and I also know why it's still so much used despite of that. On another topic, I'm watching Build 2015 right now and they announced Visual Studio Code, a lightweight code editor which works on Windows, Mac and Linux for 12 languages with intellisense, debugging and all the goodies. Good shit :D
Trying it right now, not sure how viable it'll be in replacing ST3 because it's missing plugins but it's a great first effort.
I think they have a very specific target audience with VSC though (web and normal C#) so hopefully they expand it to a more general purpose editor because imo they have better clout than Github or the Sublime guy.
There's really no reason to use Java over C# imo, C# just is a better language in almost every front. It only depends on whether MS can make C# as easy to develop as Java on non-Windows platforms.
|
On April 30 2015 06:51 Blisse wrote:Show nested quote +On April 30 2015 01:26 ZenithM wrote:On April 29 2015 11:21 Blitzkrieg0 wrote:On April 29 2015 10:50 teamamerica wrote:On April 29 2015 09:50 Blitzkrieg0 wrote:On April 29 2015 08:56 Nesserev wrote:Hmmm, that looks interesting, but I always thought that mathematically proven code/certified code was limited to the realm of functional programming. I only glossed over the tutorial, is this the same thing? On April 29 2015 09:02 Blitzkrieg0 wrote: Read the page where it shits all over Java and was pretty amused. Where do they shit on Java? Do you mean the page 'A Java Example' in the tutorial? http://www.eschertech.com/tutorial/tutorial1/perfect_oo_differences.phpAll their examples are why java is a terrible language. What defines a terrible language? I am really curious why you dislike Java so much. Google/all web scale companies , financial trading firms/your TV/atm/phone/microwave all get good use out of it. Terrible language is vague, but when your description says Java does this and Perfect does not this then the creator clearly didn't like the conventions of Java and think it is a terrible language. I said I found this amusing, not that I disliked java. You would have the right to dislike it though, it truly is terrible. Having coded for years in Java, I could argue for days about why it's terrible, and I also know why it's still so much used despite of that. On another topic, I'm watching Build 2015 right now and they announced Visual Studio Code, a lightweight code editor which works on Windows, Mac and Linux for 12 languages with intellisense, debugging and all the goodies. Good shit :D Trying it right now, not sure how viable it'll be in replacing ST3 because it's missing plugins but it's a great first effort. I think they have a very specific target audience with VSC though (web and normal C#) so hopefully they expand it to a more general purpose editor because imo they have better clout than Github or the Sublime guy. There's really no reason to use Java over C# imo, C# just is a better language in almost every front. It only depends on whether MS can make C# as easy to develop as Java on non-Windows platforms.
You managed to hit the nail on the head on why you would develop in Java rather than C#: you want to develop for something non-windows. It's not just developing C# on non-windows machines, it is actually running it. C# compilers for other systems are either non-existent or bad.
Other reasons: server-side Java has better tools and frameworks than C# (imho) Android development.
|
On April 30 2015 07:36 Acrofales wrote:Show nested quote +On April 30 2015 06:51 Blisse wrote:On April 30 2015 01:26 ZenithM wrote:On April 29 2015 11:21 Blitzkrieg0 wrote:On April 29 2015 10:50 teamamerica wrote:On April 29 2015 09:50 Blitzkrieg0 wrote:On April 29 2015 08:56 Nesserev wrote:Hmmm, that looks interesting, but I always thought that mathematically proven code/certified code was limited to the realm of functional programming. I only glossed over the tutorial, is this the same thing? On April 29 2015 09:02 Blitzkrieg0 wrote: Read the page where it shits all over Java and was pretty amused. Where do they shit on Java? Do you mean the page 'A Java Example' in the tutorial? http://www.eschertech.com/tutorial/tutorial1/perfect_oo_differences.phpAll their examples are why java is a terrible language. What defines a terrible language? I am really curious why you dislike Java so much. Google/all web scale companies , financial trading firms/your TV/atm/phone/microwave all get good use out of it. Terrible language is vague, but when your description says Java does this and Perfect does not this then the creator clearly didn't like the conventions of Java and think it is a terrible language. I said I found this amusing, not that I disliked java. You would have the right to dislike it though, it truly is terrible. Having coded for years in Java, I could argue for days about why it's terrible, and I also know why it's still so much used despite of that. On another topic, I'm watching Build 2015 right now and they announced Visual Studio Code, a lightweight code editor which works on Windows, Mac and Linux for 12 languages with intellisense, debugging and all the goodies. Good shit :D Trying it right now, not sure how viable it'll be in replacing ST3 because it's missing plugins but it's a great first effort. I think they have a very specific target audience with VSC though (web and normal C#) so hopefully they expand it to a more general purpose editor because imo they have better clout than Github or the Sublime guy. There's really no reason to use Java over C# imo, C# just is a better language in almost every front. It only depends on whether MS can make C# as easy to develop as Java on non-Windows platforms. You managed to hit the nail on the head on why you would develop in Java rather than C#: you want to develop for something non-windows. It's not just developing C# on non-windows machines, it is actually running it. C# compilers for other systems are either non-existent or bad. Other reasons: server-side Java has better tools and frameworks than C# (imho) Android development.
I'd definitely put "Not having to type a gazillion characters to do the simplest things" as one of the things that Java doesn't have. Sometimes you just open the file, look at it for a moment and then close it as TLDR.
I also remember that there was some book (Python tutorial or something) released as open source by one frustrated CS teacher. I don't like Python very much myself but he made a very good point at it being a much, much better introductory language than Java and was wondering why is Java being used for so many courses.
As an example you can just take the first thing people usually learn when programming - "Hello World!".
Java:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
Python:
print "Hello World!"
Now, if you're a CS teacher you have to explain this thing to the students. In case of Java you have to get into classes (possibly imports too), visibility, variable types, method chaining, braces, methods, arguments etc. etc. This is a lot of stuff, which adds a lot of work for the teacher as well as a lot of useless (at first) info for the student. With Python you get one simple line. There's also the "learning by doing" stuff, since in Python you can see the effects of your work immediately while in Java you have to first compile it and so on and on...
|
given that c# runs over a virtual machine, shouldnt it be posible to run on mac/linux? what is the reason it is windows dependent?
|
I agree that C# is a better Java (but just that, it's not like it's a revolution either ;D). And I think Microsoft is trying to bring it to other platforms (Build 2015 confirms this intention as well). In general I'm a big fan of Microsoft development tools and languages. Their IDE is just nice to use, and C# and F# are cool languages. But Java just wins as far as portability goes.
On April 30 2015 07:59 Reptilia wrote: given that c# runs over a virtual machine, shouldnt it be posible to run on mac/linux? what is the reason it is windows dependent? There are good implementations for other OS (see Mono), but they're still far below the official Microsoft compiler and runtime, and they're all in all inferior to Java on Linux imo. You're better off using another language if you want portability, but there is no technical reasons as to why C# is mainly a Windows language. Reasons are mainly political or ideological: for example Microsoft had too much control early on on the language for it to develop a good open source scene (plus I think they activally repressed attempts at a cross-platform compiler early on).
|
On April 30 2015 08:04 ZenithM wrote:I agree that C# is a better Java (but just that, it's not like it's a revolution either ;D). And I think Microsoft is trying to bring it to other platforms (Build 2015 confirms this intention as well). In general I'm a big fan of Microsoft development tools and languages. Their IDE is just nice to use, and C# and F# are cool languages. But Java just wins as far as portability goes. Show nested quote +On April 30 2015 07:59 Reptilia wrote: given that c# runs over a virtual machine, shouldnt it be posible to run on mac/linux? what is the reason it is windows dependent? There are good implementations for other OS (see Mono), but they're still far below the official Microsoft compiler and runtime, and they're all in all inferior to Java on Linux imo. You're better off using another language if you want portability, but there is no technical reasons as to why C# is mainly a Windows language. Reasons are mainly political or ideological: for example Microsoft had too much control early on on the language for it to develop a good open source scene (plus I think they activally repressed attempts at a cross-platform compiler early on).
I don't think it's C# so much but rather the .NET library.
|
On April 30 2015 02:57 Rotodyne wrote:It seems like an important part of being a programmer is telling other programmers that their language of choice is absolute shit. Probably at least 100 pages in this thread are dedicated to that  But yes, you are an asshole if you name a language 'Perfect'
THE DIALECT OF LISP I JUST MADE IS PERFECT!!!!
|
On April 30 2015 08:41 Manit0u wrote:Show nested quote +On April 30 2015 08:04 ZenithM wrote:I agree that C# is a better Java (but just that, it's not like it's a revolution either ;D). And I think Microsoft is trying to bring it to other platforms (Build 2015 confirms this intention as well). In general I'm a big fan of Microsoft development tools and languages. Their IDE is just nice to use, and C# and F# are cool languages. But Java just wins as far as portability goes. On April 30 2015 07:59 Reptilia wrote: given that c# runs over a virtual machine, shouldnt it be posible to run on mac/linux? what is the reason it is windows dependent? There are good implementations for other OS (see Mono), but they're still far below the official Microsoft compiler and runtime, and they're all in all inferior to Java on Linux imo. You're better off using another language if you want portability, but there is no technical reasons as to why C# is mainly a Windows language. Reasons are mainly political or ideological: for example Microsoft had too much control early on on the language for it to develop a good open source scene (plus I think they activally repressed attempts at a cross-platform compiler early on). I don't think it's C# so much but rather the .NET library. Yes you're right, it's more attempts at reproducing the library that they repressed . A compiler isn't that hard to code anyway.
|
|
|
|