Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

C# or Java ? Which language should i learn ?

Name: Anonymous 2012-08-10 7:14

Hi guys, i want to learn an oriented-object language and i don't know which i must choose : Java or C# ?

I know some basics rules about programming, i have made many cli-programs in C and some for my calculator in Ti-Basic.

I think with Java i can, at long term, develop on Android systems and i think it's the future platform of programming but...

With C# and .NET maybe i can make native software for Windows and Windows Phone, and the future marketplace on Windows can be good. But maybe the Windows/Xbox family is on decline and near to the end ?

So i don't know which choose, if you can give me some advices, it will be great. Thank you.

PS : Sorry for my bad english language. I hope you will understand what i want to say.

Name: Anonymous 2012-08-10 7:16

i want to learn an oriented-object language
Smalltalk, Self, Io, Eiffel, Common Lisp+CLOS. Pick your poison.

Name: Anonymous 2012-08-10 7:29

>>2
no, seriously, dude, i need a language which can made REAL applications, not something for ultimate science, outdated from 70's or things like that...

Name: Anonymous 2012-08-10 8:00

LISP

Name: Anonymous 2012-08-10 8:03

Why not both? There's nothing inherently novel in any of them relative to each other and by learning either one, you should be able to learn the other in no time. Do you see yourself programming winforms? Then go C#. Do you see yourself fucking around with Android and maybe server-side web apps? Then go Java.

Name: Anonymous 2012-08-10 8:04

>>3
Ah, you should have said so earlier, try COBOL 2002.

Name: Anonymous 2012-08-10 13:10

ANUS 3000 beats all

Name: Anonymous 2012-08-10 13:33

>>2
What defines a REAL application? What is ultimate science?
IHBT

Name: Anonymous 2012-08-10 17:30

OOP is harmful.

Name: Anonymous 2012-08-10 19:03

>>9
I disagree. I do think it's overused pretty massively - most applications don't make good use of it and can be written purely in a functional/imperative language. But for certain things, it is a useful paradigm to have. It effectively simulates multiple computers interacting with one another!

Name: Anonymous 2012-08-10 19:04

Also, OP, if you learn Java, get ready for everyone to hate you, and rightly so. Good god, what a terrible fucking language.

Name: Anonymous 2012-08-10 19:12

>>10
It effectively simulates multiple computers interacting with one another!
No, it doesn't.

Name: Anonymous 2012-08-10 19:25

C# and Java are pretty much interchangeable, C# has some nicer newer features but you probably won't use them yet. It is also much easier to make graphical menus and such, though it suffers from lack of portability in comparison to Java, just learn both if you are restricted to those two.

Name: Anonymous 2012-08-10 19:26

It effectively simulates multiple computers interacting with one another!
ONE THOUSAND TIMES WHAT THE FLYING FUCK

Name: Anonymous 2012-08-10 21:17

>>14
>>12
Think about it - different objects running functions and passing data between one another autonomously?

Name: Anonymous 2012-08-10 23:18

>>10
It effectively simulates multiple computers interacting with one another!
That's Simula/Smalltalk OO, where "objects" were coroutines/processes/actors. Today this would be called event-driven or actor programming. C++ OO is C structs and function pointers with some syntactic sugar to pass a pointer as the first argument. The whole concept of parallelism is gone. The memory protection and garbage collection are gone.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. - Alan Kay

Name: Anonymous 2012-08-11 0:07

I was chosen to take over the development of B and turned it into C, and I can tell you that I prefer LISP. - Dennis MacAlistair Ritchie

Name: Anonymous 2012-08-11 15:56

>FEATURES C# HAS THAT JAVA DOES NOT
http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx - Value types vs. reference types
http://msdn.microsoft.com/en-us/library/dd264739.aspx - Named and optional arguments
http://msdn.microsoft.com/en-us/library/8627sbea.aspx - Built-in events
http://msdn.microsoft.com/en-us/library/bb397687.aspx - Lambda expressions
http://msdn.microsoft.com/en-us/library/d5x73970.aspx - Value types allowed as generic parameters; generic constraints
http://msdn.microsoft.com/en-us/library/ee207183.aspx - Co/contravariance
http://msdn.microsoft.com/en-us/library/ms173171.aspx - Delegates
http://msdn.microsoft.com/en-us/library/9fkccyh4.aspx - Methods are not overridable by default
http://msdn.microsoft.com/en-us/library/e59b22c5.aspx - Better interop support with unmanaged code
http://msdn.microsoft.com/en-us/library/y31yhkeb.aspx - Pointers
http://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx - Properties (getters/setters)
http://msdn.microsoft.com/en-us/library/8edha89s.aspx - Operator overloading
http://msdn.microsoft.com/en-us/library/hh156513.aspx - 'async' methods
http://msdn.microsoft.com/en-us/library/ms229005.aspx - More flexible exception throwing*

http://msdn.microsoft.com/en-us/library/5cyb68cy.aspx - Ability to allocate memory not managed by the GC
http://msdn.microsoft.com/en-us/library/system.io.aspx - Standard IO library that is not complicated and overly verbose

>FEATURES THAT JAVA HAS THAT C# DOES NOT
Local and anonymous inner classes

================================================================================

* adding 'throws' to a method in Java requires snowballing changes to all methods that make use of that method, which requires changes to those methods, etc...

*****Also, remember that C# is -not- a windows-only language. Using mono you can write C# code on linux or mac.

Name: Anonymous 2012-08-11 16:59

>>18
But Mono doesn't support all of .NET and is much slower.

Name: Anonymous 2012-08-11 17:15

>FEATURES COMMON LISP HAS THAT C# AND JAVA DO NOT
A good macro system
Symbol type
Multimethods
Optional dynamic typing
A REPL
Conditions and restarts
Not forced OOP

Name: Anonymous 2012-08-11 17:18

>>19
using mono.simd, it's not uncommon to get performance an order of magnitude better than .net

I'll give you that under certain conditions, .net is faster than mono on windows though.

Also which .net libraries is mono missing?

Name: Anonymous 2012-08-11 17:37

>>21
WPF
Silverlight

Name: Anonymous 2012-08-11 18:44

Name: Anonymous 2012-08-12 0:25

>>23
You didn't even read the links you posted. Typical linshit.

Don't change these.
Name: Email:
Entire Thread Thread List