Convince me to learn java

Issac

Iᔕᔕᗩᑕ
Supervisor
Joined
Apr 10, 2004
Messages
7,023
Trophies
2
Location
Sweden
XP
7,304
Country
Sweden
C is easily the most straight-forward language I've ever used, I never encountered anything even remotely confusing or disorienting in it, wheras in Java, stuff like inheritance or constructors requires quite a bit of completely abstract thinking.

Yeah, C was the first language I learned and is really straight-forward. I would recommend going straight to C++ anyway, instead of learning C and then having to "unlearn" a few bits that has changed in C++ (I don't remember specifics at the moment). I just think it's good to start with object oriented programming so that it is something you've got covered from the start.

I disagree. There is more imports of methods than the actual creating methods. If I asked you what does the repaint() method do you would not know without looking it up. Sure, you may have used it and understand that it "repaints" the graphic(s) on the screen, but what does the "actual code of repaint() say?" Import this, import that! You'll be creating applications that you shoved together without understanding! Almost as bad as GUI based Programming ;0;
Yeah, alright man, you'll want to learn assembly then.
There are imports in C and C++, if I ask you about specific functions in C or C++ you wouldn't know what it does without looking it up either. And that last claim is ... just stupid.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,818
Trophies
3
Location
Gaming Grotto
XP
29,787
Country
Poland
Yeah, C was the first language I learned and is really straight-forward. I would recommend going straight to C++ anyway, instead of learning C and then having to "unlearn" a few bits that has changed in C++ (I don't remember specifics at the moment). I just think it's good to start with object oriented programming so that it is something you've got covered from the start.
That's true - C isn't exactly following contemporary trends, it's very old school. :P
Yeah, alright man, you'll want to learn assembly then.
There are imports in C and C++, if I ask you about specific functions in C or C++ you wouldn't know what it does without looking it up either. And that last claim is ... just stupid.
I agree, #include/import is not something out of the ordinary. In fact, branching out your code into several header/source files is desirable to keep it easily readable - it's jamming everything into one main source file that I'd call bizzare. Besides, checking a function reference is easy - Eclipse shows them within the actual coding environment, and so does Visual Studio.
 
  • Like
Reactions: Issac

jonthedit

Well-Known Member
OP
Member
Joined
May 30, 2011
Messages
1,682
Trophies
0
XP
1,009
Country
Bangladesh
Yeah, C was the first language I learned and is really straight-forward. I would recommend going straight to C++ anyway, instead of learning C and then having to "unlearn" a few bits that has changed in C++ (I don't remember specifics at the moment). I just think it's good to start with object oriented programming so that it is something you've got covered from the start.


Yeah, alright man, you'll want to learn assembly then.
There are imports in C and C++, if I ask you about specific functions in C or C++ you wouldn't know what it does without looking it up either. And that last claim is ... just stupid.

The claim is stupid but it is generally true. Early programmers would actually know what each function does because they would have built them. The point I'm trying to make here is I do not want to learn what has already been created by someone else. Why limit myself to functions created by others? I'll never be able to create my own.


That's true - C isn't exactly following contemporary trends, it's very old school. :P
I agree, #include/import is not something out of the ordinary. In fact, branching out your code into several header/source files is desirable to keep it easily readable - it's jamming everything into one main source file that I'd call bizzare. Besides, checking a function reference is easy - Eclipse shows them within the actual coding environment, and so does Visual Studio.

Again, I get the simplicity of using pre-made code but I feel it would hurt me in the long run.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,818
Trophies
3
Location
Gaming Grotto
XP
29,787
Country
Poland
Again, I get the simplicity of using pre-made code but I feel it would hurt me in the long run.
You can't "not" use basic elements of a given language's library. Hell, to even use C at all, you have to #include <stdio.h> //Include standard Input/Output header. Say, you want to print something on-screen - you use printf(). You don't actually know how printf() works on your platform of choice, you just know what it does, that's the point of using a higher language and not platform-specific Assembly in the first place.
 
  • Like
Reactions: Issac

Issac

Iᔕᔕᗩᑕ
Supervisor
Joined
Apr 10, 2004
Messages
7,023
Trophies
2
Location
Sweden
XP
7,304
Country
Sweden
The claim is stupid but it is generally true. Early programmers would actually know what each function does because they would have built them. The point I'm trying to make here is I do not want to learn what has already been created by someone else. Why limit myself to functions created by others? I'll never be able to create my own.

Again, I get the simplicity of using pre-made code but I feel it would hurt me in the long run.


Ah, if you put it like that. Well, there's nothing stopping you from doing your own repaint() methods in Java or similar things in C & C++ ... the only limit is your own motivation.
I prefer using pre-existing libraries to deal with all the necessary and boring stuff, and let my imagination and programming deal with more specific parts I want... not waisting time reinventing the wheel.

I, for example, made a ray-tracer in standard C++, not using OpenGL, glew, glut or anything like that... just ordinary C++ and math... it was a school project and it was to learn the basics of a ray-tracer and the math behind it. It would've surely been quicker to do it with OpenGL, and would be nice to render the picture on the screen when running the program which would be easier with other libraries... in my case I output a file.

I started with programming in High School (2003) with C, and had 3 courses lasting one year each. Then at University we started off with Ada95 (just to learn the "thinking" of programming, and not bother too much with language), followed by Java, Matlab, and C++. We had many courses using Matlab (Image analysis, signals and systems, modelling and simulation, automatic controll courses, compression etc.), a few using Java (UI-courses, Design patterns, pure programming and a course where we did an Android game), a lot of courses using C++ (advanced computer graphics programming, modelling and animation, Data structures and Algorithm Analysis, pure programming and several projects).

Matlab is by far my favourite, just because it's more of a sandbox than regular programming, and it's math. But yeah, it doesn't count! Next up is Java, just for the ease of use in my opinion.
Heck, in the Android game course (actually it was a course in Agile project management / SCRUM) we panicked when we only had one person with an Android phone capable of running our game (using a too high version of Android at the time). So we brought a router, managed to use the built in Android emulator in the IDE and connect the router as the local wifi thingy of the Emulator... and it went fast! Our deadline was fast approaching and we needed two phones to demo the game since it was a local multiplayer game... I and another person did the router thing in a day and it worked perfectly, only using built in stuff in standard Java and Android sdk.
 
  • Like
Reactions: jonthedit

jonthedit

Well-Known Member
OP
Member
Joined
May 30, 2011
Messages
1,682
Trophies
0
XP
1,009
Country
Bangladesh
You can't "not" use basic elements of a given language's library. Hell, to even use C at all, you have to #include <stdio.h> //Include standard Input/Output header. Say, you want to print something on-screen - you use printf(). You don't actually know how printf() works on your platform of choice, you just know what it does, that's the point of using a higher language and not platform-specific Assembly in the first place.
Ah, if you put it like that. Well, there's nothing stopping you from doing your own repaint() methods in Java or similar things in C & C++ ... the only limit is your own motivation.
I prefer using pre-existing libraries to deal with all the necessary and boring stuff, and let my imagination and programming deal with more specific parts I want... not waisting time reinventing the wheel.

I, for example, made a ray-tracer in standard C++, not using OpenGL, glew, glut or anything like that... just ordinary C++ and math... it was a school project and it was to learn the basics of a ray-tracer and the math behind it. It would've surely been quicker to do it with OpenGL, and would be nice to render the picture on the screen when running the program which would be easier with other libraries... in my case I output a file.

I started with programming in High School (2003) with C, and had 3 courses lasting one year each. Then at University we started off with Ada95 (just to learn the "thinking" of programming, and not bother too much with language), followed by Java, Matlab, and C++. We had many courses using Matlab (Image analysis, signals and systems, modelling and simulation, automatic controll courses, compression etc.), a few using Java (UI-courses, Design patterns, pure programming and a course where we did an Android game), a lot of courses using C++ (advanced computer graphics programming, modelling and animation, Data structures and Algorithm Analysis, pure programming and several projects).

Matlab is by far my favourite, just because it's more of a sandbox than regular programming, and it's math. But yeah, it doesn't count! Next up is Java, just for the ease of use in my opinion.
Heck, in the Android game course (actually it was a course in Agile project management / SCRUM) we panicked when we only had one person with an Android phone capable of running our game (using a too high version of Android at the time). So we brought a router, managed to use the built in Android emulator in the IDE and connect the router as the local wifi thingy of the Emulator... and it went fast! Our deadline was fast approaching and we needed two phones to demo the game since it was a local multiplayer game... I and another person did the router thing in a day and it worked perfectly, only using built in stuff in standard Java and Android sdk.

Thanks guys! That was what I was looking for! :)
This answers my questions.
 
  • Like
Reactions: Issac

Issac

Iᔕᔕᗩᑕ
Supervisor
Joined
Apr 10, 2004
Messages
7,023
Trophies
2
Location
Sweden
XP
7,304
Country
Sweden
Oh yeah... forgot to mention that we've also dealt with HTML, JavaScript and PHP, as well as XSLT... and had a course in AI where we got to use Scheme (a dialect of LISP).... I liked Scheme, because it was such a stupid language! :D I love parentheses in general, and Scheme (and LISP) is FULL of parentheses! Our final project in that course (an A* search algorithm implementation) had around 2000 pairs of parentheses...
 

PityOnU

Well-Known Member
Member
Joined
Jul 5, 2012
Messages
1,182
Trophies
1
XP
1,614
Country
United States
Just learn how to code in VB6 and call it a day. :) Most people in industry use VB6 to this day and it is widely applauded for both its multithreading capabilities and rock solid stability (code base hasn't changed since 1998 but will continue to be supported until 2023).
 

jonthedit

Well-Known Member
OP
Member
Joined
May 30, 2011
Messages
1,682
Trophies
0
XP
1,009
Country
Bangladesh
Just learn how to code in VB6 and call it a day. :) Most people in industry use VB6 to this day and it is widely applauded for both its multithreading capabilities and rock solid stability (code base hasn't changed since 1998 but will continue to be supported until 2023).

I already familiarized myself with VB. I used a rather old book called IT SKILLS.
 

Frederica Bernkastel

Well-Known Member
Member
GBAtemp Patron
Joined
Jan 31, 2008
Messages
3,169
Trophies
2
Age
28
Location
Hinamizawa
XP
989
Country
Japan
GCdr3GY.jpg


For anyone actually using Java: Take a look at SquareUp's libraries, they're goddamn lifesavers. Especially Picasso if you're working with Android.
 

pyromaniac123

ส็็็็็็็็็็็็็็็็็็็(ಠ益ಠส็็็็็็็็็็็็็็็็็็็
Member
Joined
Sep 24, 2011
Messages
2,006
Trophies
2
XP
1,770
Country
Learn java or I'll kill your dog.
 

Smuff

Fossilized Gamer
Member
Joined
Jul 29, 2006
Messages
1,024
Trophies
0
Location
By the sea
XP
418
Country
Learn java or I'll kill your dog.

Bugger, I was going to say that!
Now I have to think of something else original and witty.

OK brain, you don't like me and I don't like you. But just do this for me and I'll go back to killing you with beer.....

Here we go:

Erm, Learn Java or I'll ......... erm........ kill your.............erm............ dog!
 

Arras

Well-Known Member
Member
Joined
Sep 14, 2010
Messages
6,317
Trophies
2
XP
5,381
Country
Netherlands
I don't really see why anyone should learn C/C++ before C#/Java. Anyway though, you should see Haskell, lol. Doing basic stuff can be hilariously complicated and writing algorithms can be surprisingly easy
(two line quicksort that sorts literally anything sortable, including strings and decimals:
Code:
quicksort []    = []
qsort (p:xs) = qsort [x | x<-xs, x<p] ++ [p] ++ qsort [x | x<-xs, x>=p]
)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: Mkay.