[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
It is practically impossible to teach good programming to students
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 157
Thread images: 14
File: javalogo.png (39 KB, 518x518) Image search: [Google]
javalogo.png
39 KB, 518x518
It is practically impossible to teach good programming to students that have had a prior exposure to Java: as potential programmers they are mentally mutilated beyond hope of regeneration
>>
All good unis teach Haskell first anyway
>>
Programming noob here, why? And in Layman's terms please.
>>
>>51802531

Except pretty much all of most renowned universities, you mean?

Stanford, MIT, Harvard... All "Java schools".
>>
>>51803536

No real truth in it.

Someone took Dijkstra's quote about BASIC and substituted Java in.

Aside from that, there are a bunch of academics and functional programming weenies that dislike Java's OOP paradigm, and that's about it.
>>
>>51802411
There's nothing wrong with OOP from a software development perspective, it's just that Java that is slow and has ugly syntax. It's an objectively bad language but a student out of a good university should be able to pick up any other OOP language with ease, and you'd hope any other language too.
>>
>>51802411
java is a great language to learn about programming concepts and OOP. if you know java, picking up other languages is pretty easy.
>>
Currently learning Java. Some experience with C, BASIC and dabbled in lisp, ASM, C++, win API.

Don't care for OOP, but have had maintainability problems with C once the programs become large. Also interested in embedded systems.

Will Java teach me bad habits?, or is it being verbose just annoying?
>>
>>51804120
a language can't just magically teach you bad habits. if you do stupid shit in java, chances are you're also gonna be doing stupid shit in other languages. if you put some effort into finding an elegant solution in java, you'll probably do the same in other languages.
>>
>>51804120

Java being bad is a meme. It's not an especially exciting language but the documentation is rock solid, any code you see written in it does exactly what you think it does 95% of the time, and it's easily portable without much hassle. Personally I prefer C#, but I don't like the Microsoft platform lock you're currently stuck with if you're writing a server app (changing) and the documentation is shit compared to Java's. You should pick a language you like working with assuming you're going to get a job writing in it (as long as it's not an obscure language).
>>
File: 1435163610095.jpg (81 KB, 817x539) Image search: [Google]
1435163610095.jpg
81 KB, 817x539
>>51802531
>tfw my uni did scheme first
>tfw never become a good programmer
>>
>>51804327
At least you can feel superior to everyone who doesn't know Scheme
>>
>>51802411
Saw somebody with this sig on s thread about cfgs. Are you him?
>>
>>51804033

>>Java.... Slow?


Compared to what, exactly?

It's not 1995 anymore, bud.
>>
>>51804210
>>51804214
thanks
>>
>>51804444
I think the meme started with minecraft. Children blame its poor performance on Java and it stuck.
>>
>>51802531
At Uni of Cambridge we had ML first
...
... followed by Java just weeks later.
>>
>>51804409
It's a quote taken from dijkstra or something, and adapted to suit one's preference of languages to hate.
>>
They should start out with asm on a toy virtual machine, then move to C or JS or something, then lisp.
>>
>>51804444
Compared to C and C++.
>>51804630
Minecraft's performance characteristics were due largely to the use of java. It's true that notch is a horrible programmer and that his code exacerbated the issues with java, but the issues are still there. Let me remind you that his game is just a bunch of cubes, anything more than that would have had the same performance characteristic without there being a way to improve performance by improving code quality.
Also, the "java is slow" fact is something everyone's been saying for decades, long before memecraft became a thing.
>>
>>51804695
some unis use MIPS in their computer systems/architecture courses (mine does)

Also, Java isn't suitable for memecraft
>>
>>51804699
Except that's wrong. Java's performance is almost on par with that of C++, and it's faster than C# or python (in which case it's waaaaaaayyyyyyyyyy faster) which are also used to make games.

The problem is that minecraft all runs on a single thread because Notch is an idiot.
>>
>>51804744
>minecraft all runs on a single thread
Are you telling the truth, cause holy shit that's retarded.
>>
>>51804744
For python, obviously. Nobody is arguing that 5000x-slower-than-C: the language is slower than java, which is around 3x slower than C. However, it is significantly slower than C# with .Net. What it's faster than is C# with mono. People almost never make games in C# as opposed to java, and the games made in python really use python as a glue language for C code (that's the usual working paradigm with python - you do all the real code in C and use python as a glue language. Most people who are new to python don't even realize they're importing C wrappers when they use libraries). It's slower than C because the python code is, in fact, run, but not significantly so because the real parts that require performance are in C.

Java is most definitely not on par with C++, performance-wise. Not even remotely. Being 2-2.5x slower than a language does not put you on the same level, unlike being within 1.5x of it.

I find it hilarious that you think the problem is that minecraft runs in a single thread when you mention python which literally cannot do multithreading (thanks to the GIL). Moreover, the great majority of games use a single thread, with more high-end modern games using a grand total of 2 threads, and extreme, benchmark-tier games using 3. One significant issue is that you can't communicate with opengl or directx from a non-main thread easily (there are ways but it's really messy and incurs a significant cost during context switch).
>>
>>51804699
>Minecraft's performance characteristics were due largely to the use of java
Isn't Minecraft closed-source, how do you know?

Go look up any benchmark, Java is about 40-50% slower than the average C++ algorithm implementation. Its impossible to such a bad performance on that difference, with a sufficiently bad implementation any application can be as slow as you want.
>>
>>51804836
It's trivial to decompile because loljava. I think there was even a code leak at some point. Finally, notch did livecoding sessions, displaying his incompetence for all to see.

Benchmarks on toy programs don't mean shit, kid. Real-world performance is what matters, and java is about 2-2.5x slower than C++ in these cases.
>>
>>51804891
Also, the main reason why java is slow as fuck despite the fact that it's merely 2.5x slower than C++ is the stop-the-world GC. If you make many items that should be collected often (just like minecraft does), then you get "freezes" while the gc collects the garbage. This has nothing to do with the threadedness of the program, by the way, due to how java's gc works.
>>
>>51804815
Yep. I did quite a bit of digging into the minecraft internals for a previous project.
>>
>>51804911
This isn't 2005.

You have no idea what you're talking about, please stop embarrassing yourself.
>>
>>51805000
Oh the irony.
>>
>>51804891
Then go ahead, and point me to those "real-world" benchmarks you are talking about.
>>
>>51802411

most likely bait but I have to...

why
>>
>>51805029
No real reason. It's a popular language so it looks like a disproportionately large number of idiots come from a Java-first background, when in reality those people would have been poor programmers under any circumstance.
>>
>>51804824
In absolute computation time, C doesn't even come close to a well written assembly program.

Look at the dissassembly of C code for a bit shift and you will see about 16 times the amount of commands actually needed. (One opcode).

Does this mean all programs should be painstakingly written in hand optimised ASM? No.

Every language has a purpose and a use case. Comparing them is comparing Apples and oranges.
>>
>>51805066
>dissassembly of C code for a bit shift
>16 times the amount
what the fuck are you smoking, webtard?
void shift(unsigned *x)
{
*x = *x >> 1;
}

shift:
.cfi_startproc
shrl (%rdi)
ret
.cfi_endproc
>>
>>51805066
Poor example tbqh because the compiler is expecting the programmer to do more than a bit shift. It's a fallacy that ASM is ALWAYS faster than C, as you said it has to be extremely well written to beat the compiler and most coders now either lack the skill or the time to create assembly that intricate.
>>
>>51805194
You need to read up on your unix koans
http://catb.org/esr/writings/unix-koans/ten-thousand.html

Abstraction is a powerful tool: with one line in a higher level language, you can write ten thousand lines in a lower level language.
>>
>>51805203
>lack the skill
what can you expect from faggots that's can't average 2 ints
>>
>>51805260
what the fuck are you replying to? what does it have to do with the claim that a shift in C is 16 times more code than hand written asm?
>>
>>51805269
Right.
>>
>>51805289
>le webtard
>le java is le bad
>le c ftw
It's not wise to discount the power abstraction like that. Also there are multiple people responding to you, talking about different things, just by the way.
>>
>>51804911
>Also, the main reason why java is slow as fuck despite the fact that it's merely 2.5x slower than C++ is the stop-the-world GC. If you make many items that should be collected often (just like minecraft does), then you get "freezes" while the gc collects the garbage. This has nothing to do with the threadedness of the program, by the way, due to how java's gc works.
This is an oversimplification that shows that you understand very little of how the Java GC works and what you can do to configure and tune it it.
>>
>>51805358
>muh damage control
>muh getting told on the 16x
gtfo htmlc᠎uck
>>
>>51805408
>implying I'm even him
>not being enlightened by master foo's wisdom
skid pls go
>>
>>51805425
>pretending
m8...
>>
>>51805425
we all know you are, anon; you dun goofed, got rekt and now you're moving the goalposts with "muh abstractions"
>>
>>51805436
>>51805451
>implying
So why isn't it marked (YOU)?
>>
>>51804033
I'm on the opposite side of this.

Java's performance is good enough for most cases, but the language's syntax, as well as the way it's taught, basically forces you into using OOP for everything.

A cargo-cultist mentality about OOP is the hardest thing to drop.
>>
>>51805473
Wrong post
>>
>>51805473
>>51805488
>why
>nothing is marked
webfags, everyone
>>
>>51805505
>I refuse to view evidence that would make me look dumb
You have to be 18 to post here. Go back to disassembling videogames.
>>
>>51805530
>got told hard
>muh butthurt
>so mad
stay pleb, cssboy
>>
>>51804824
Java is not slower than .NET you moron
>>
>>51805647
No, you're the one getting told. Look at how many people here are pointing out how your
>muh java is slow
is BS

Wait, shit, I just realized I'm getting baited.
>>
Forcing OOP on people who don't understand what OOP even is often leads to students who can't adapt and think any other way.
I think a more general procedural language would be more appropriate for beginners. Something like Ada which has support for OO stuff and functional stuff and everything while not forcing you down one road.
My school's CS did Ada first, then introduced Java, C, and Scheme in the final set of weedout classes and I'm kinda curious of what it'd be like to learn CS from the mindset of someone who started with Scheme.
>>
>>51804824
>>51804891
You make all those claims of "real-world performance" .NET being faster than JVM, Mono being slower than .NET, Java being 2.5x slower than C++.

Do you have a source to back any of that up? I would be especially interested in the JVM/Mono/.NET comparison, cause I wasn't ever able to find any credible in-depth comparisons on that once and I always hear contradictory opinions.
>>
>>51805818
>your >muh java is slow
never said such a thing; I only said
>>51805194
>>
>>51805933
Jared pls

These aren't the blockland forums: we know it was you.
>>
>>51805482
>but the language's syntax, as well as the way it's taught, basically forces you into using OOP for everything.
There's literally nothing stopping you from using all static methods and all static variables. I don't understand where this meme comes from.
>>
>>51806009
tyrone pls
>>
>>51806009
>got told
>damage control
>memeus maximus
>>
>>51805066
nigger pls
unless you're a fucking compiler/assembly expert, or your code presents itself well to use SIMD, your assembly code is probably going to run slower than the compiler's.
>>
I started with visual basic, it really is a good place to start.
>>
>>51802411
Good thing I'm ignoring Java and Python and learning C as my first language.
>>
>>51805482
It's not like you can't write good code using oop constructs. Not everything has to be a multi-paradigm language.
>>
>>51804699
After some time you will realise that:
delivered > perfect

Customers' requirements are usually very complex, change often and they want everything to be delivered ASAP. Speed is not very crucial for them. Just has to be 'acceptable'.
They don't give a shit about speed comparison a charts.
Developers are so horribly expensive, that you can easily decide to go java/.net and spend half of saved money on more powerful mainframe. The product will be delivered faster, and you still will have some money left.
>>
>>51805894
>I think a more general procedural language would be more appropriate for beginners.
I think you're right. I had some basic programming skills and dove head first into C++. Hated it so much, I quit programming for a long time.
Got interested in micro-controllers and rediscovered my love for programming with C.
After writing some large, complex programs, I now see the point and benefits of OOP, and am starting to learn it, but I don't know if I'll ever learn to like it.
>>
>>51806252
This. I don't know where you people live, but if you told a customer he had to pay double to make it run on his old hardware, he'll tell you buying new machine will be cheaper. Most often after he excludes you out of possible candidates.

Especially when you create common software.
>>
>>51806319
A much better way to go about it are javascript-style objects and first class functions, or C-style structs and function pointers

OOP is useful if it's not overdone (like it usually is). Making a new source file for each object is asking for trouble.
>>
>>51806373
Thank you!
>>
>>51805375
No matter how much you tune the GC, it will always be a stop-the-world GC that inserts arbitrary-length pauses during runtime. That you think otherwise shows that you understand almost nothing of how the Java GC works and what the effect of configuring and tuning it is.
>>
>>51805929
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.2984&rep=rep1&type=pdf
https://www.unf.edu/~ree/netvsmono.pdf
>>
>>51806252
>average_web_developer.jpg
>>
>>51806994
>this is what NEETs actually believe
If you'd ever held a job in software development for ten minutes, you'd know he's right. The customer is interested in software that works, and optimizing that software is usually nowhere close to the top of the list. You'd also know how long (maintainable) development takes, and that optimizing takes even longer, and therefore very expensive.
>>
>>51806841
Full GC's are rare and usually due to bad code.
>>
>>51807205
Java is indeed bad code.
>>
>>51807203
See >>51806994
>>
>>51807247
>>
>>51806974
Thanks, but none of those confirm your claims.

>We present empirical evidence to demonstrate that there is little or no difference between the Java Virtual Machine and the .NET Common Language Runtime, as regards the compilation and execution of object-oriented programs.
States that .NET and JVM have approximately the same speed for use with a language such as Java or C#.

The second source is 10 years old and done on Fedora 4 and Windows XP. Mono has been literally rewritten from scratch since that paper was published. Just look at the hardware that was used:
>The research facility is a cluster of six Dell personal computers. [4] Each personal computer had an Intel Pentium III
550MHz processor, the same motherboards, BIOS’s,
the same built in Network Interface Cards, and either
128MB of RAM or 256MB of RAM
>>
>>51807584
>didn't look at the numbers
>didn't look at the graphs
>didn't look at the experimental results whatsoever
>"hurf durf it sez not wat it say pls belib meeeeeh"
>>
Just wait for Java.JS
>>
>>51806076
That's fucking gross though. Or I could use a language that doesn't force OOP down my throat.
>>
>>51806076
>There's literally nothing stopping you from using all static methods and all static variables. I don't understand where this meme comes from.
>>
>>51804824
>it is significantly slower than C# with .Net
No it's not. You don't have a single benchmark to back that up and every single public benchmark has the JVM annihilating the CLR in terms of performance. Mono is even more of a joke.
>>
>>51807636
>>51806841
Fine, I'll bite the bait for a very last time.

>it will always be a stop-the-world GC that inserts arbitrary-length pauses during runtime
And your OS inserts arbitrary-length pauses during runtime when it switches away from your process. The problem isn't that there are pauses, the problem is when those pauses are too long.

Java uses a generational garbage collector that uses very short scavange phases to get rid of the biggest amount of short-lived object, which especially covers the case of games where you have tons of those objects. If you consider the behavior of the generational GC and tweak the settings accordingly, you will not have noticeable GC pauses.
>>
>>51808526
Even the benchmarkgames show this. Then there's >>51806974
>>
>>51808579
I love this meme. Tell it again, mr. oracle employee man!
>>
>>51808627
The benchmarks game is a joke and most of the entries are all about how fast the FFI is and how NEET the community around the language is.
>>
>>51808682
There isn't a single benchmark that isn't even more of a joke than benchmark games (for instance, thinking adding integers to 1m in a loop is a valid benchmark, top kek) that finds the jvm to be anywhere near as fast as .net. There are many benchmarks that find otherwise, as outlined above.
>>
>>51808735
Tech empowers web framework benchmarks are far more useful than the benchmarks game. Obviously this has its problems as well but the benchmarks game basically tells you nothing.
>>
File: coding drunk.jpg (43 KB, 402x480) Image search: [Google]
coding drunk.jpg
43 KB, 402x480
>>51807818
Yes, you know how to quote. Do you have anything to actually say?
>>
>>51804744
>>51804815
>>51804984
Also, he did a shit of allocating, like, a new Pair2d for every point in the game, thousands of time per second.
And allocating is slow as shit.
>>
>>51808781
Benchmark games is a way to tell the overhead of the languages over pure C. >>51806974 provides comprehensive performance analysis. Web framework benchmarks also often delegate the heavy-lifting to C and thus exhibit the same problem you think benchmarkgames has, but it's a more stable measure of the overhead of a language, although on a much reduced task list. Thus, it is merely something to add onto the results from the benchmarkgames because it really is just an extension of it to another domain.
>>
>>51803536
>>51803994
buncha dumbasses come out of uni with very wrong notions of OOP (setters and getters everywhere) and shit up every code base with ParseLineExceptionFactory-type classes
>>
>>51808888
>Benchmark games is a way to tell the overhead of the languages over pure C

Not in any way that is useful. Look at the Haskell entries. Idiomatic Haskell was way slower than even Python so the Haskell NEETs just abused the FFI to make it appear fast. Your typical idiomatic Haskell program though is slow as shit in comparison and must do 100x the allocations.
>>
>>51804630
It's not just minecraft and it's not even a good example because lwjgl sucks ass but that has little to do with java
It's just that java encourages certain programming styles that you can see in jdownloader or eclipse itself, fucking 2 billion modules for everything for the sake of expandability and plugin support so every big program you try that's written in java you feel like that program is slow as fuck especially to open and assume it's because of java
>>
>>51804210
when you start shilling an editor specifically for a language then editor reinforces behavior.

Coincidentally enough, many unis have Java paired with Eclipse as the CS101 language
>>
http://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html
Is a bit of a newer one.
Java on linux vs .net was a pretty neck to neck.

Java/C# are probably the two fastest garbage collected languages.
>>
>>51806076
>A language designed around faulty OOP design doesn't reinforce faulty OOP

wew lad
>>
File: 1421224379001.jpg (48 KB, 460x276) Image search: [Google]
1421224379001.jpg
48 KB, 460x276
>>51807636
The benchmarks in the paper you've linked compares the performance of JVM vs CLR as a backend for a *c-compiler*. The benchmarks compare the performance of the generated *c* application and the results are mainly due to the fact that that egcs-jvm has to *emulate* pointer handling and unsafe memory, while the CLR allows you to operate with pointers on unsave memory. It should be apparent by now that those benchmarks are in now way supposed to be a realistic comparison of JVM and .NET performance, and it also literally says so in the abstract.

And yes, I've read the paper before, mainly cause its one of the first search hits that show up when you try to google the issue, which is probably what you just did to "prove" your claim while trying to waste my time.
>>
>>51808940
Hence, overhead as opposed to performance, faggot. Lrn2read.
>>
>>51804210
When a language forbids using certain idioms which improve program runtime while also increasing readability significantly, the programmer learns to expect such idioms to be forbidden, and hence unlearns good practice.
>>
>>51804815
Thread.sleep(5000) will literally make everything stop for 5 seconds and then crash
>>
>>51808982
>what is ocaml
>what are the various compiled lisps
>what is opendylan
>>
>>51809039
It would be useful if the "overhead" measured was actually on a realistic code base with idiomatic usage of the language.

Maybe I should rewrite all the Java and C# examples to use the FFI too. That would be totally "useful."
>>
>>51809009
>a large program was implemented on top of the clr and the jvm
>therefore the fact that this large programs runs well on one platform and not the other is not proof that a platform is faster than the other
O R A C L E
R
A
C
L
E
>>
>>51809076
The compiled lisps come close.
http://jng.imagine27.com/index.php/2009-05-03-195227_i_want_to_believe_in_lisp_performance.html

Not sure about ocaml, or opendylan.
>>
>>51809096
Read his post again.
A large program was implemented on top of the CLR and JVM, in a way that heavily disfavors the JVM.
>>
Reminder that the choice of language almost always has a negligible effect on speed and the best language to use is the one that encourages good design. The guy banking on the speed of his language's compiler to make up for bad design decisions is an idiot.
>>
>>51809120
>B-b-but it was just slow b-because... it was really fast but only when you don't look at it!11
O R A C L E
R
A
C
L
E
>>
>>51809133
>the best language to use is the one that encourages good design

That eliminates all the popular dynamically typed languages.
>>
>>51809133
>I have never programmed: the post
>>
>>51805269
what's up with averaging two ints?
>>
File: plebs1.jpg (26 KB, 400x462) Image search: [Google]
plebs1.jpg
26 KB, 400x462
>>51809208
>That eliminates all the popular dynamically typed languages.
And it eliminates several popular statically typed languages too.

>>51809231
>implying I didn't start programming over five years ago
>>
>>51809276
If you change what "average" means every post, then nobody can do it, therefore everyone is dum :^)
>>
>>51809279
>literally I'm not a newfag, I've been there all summer!
>>
>>51809199
He pretty clear explained why.
>>
>>51809395
Nice try, samefag.
>j-just trust me, it's really fast!
>d-don't trust the benchmarks! just ignore every single useful task whatsoever and it's fast!
>>
>>51809470
Except there's already another benchmark to the contrary.

And compiling c code with the JVM/CLR isn't exactly a common task for them.
It could be useful, but no one really does it.
>>
>my uni started with java
>now have $20/hr internship working with java at major tech company
How old were you when you outgrew the "java is bad" meme?
>>
>>51809497
>literally not a single benchmark
>p-pls trust me good goy, buy oracle stocks now!
>the b-benchmarks will arrive soon, y-you'll see!
>>
>>51809534
I interned at Google and realized that all the best guys either used Java or C++ and they could write things just as fast as the Python faggots that were relegated to boring ass web development and inevitably let go.

[spoiler]The C++ guys had a bit longer development time but it wasn't nearly as big as most people expect.[/spoiler]
>>
>>51809534
Meanwhile I make $100/h straight out of college because I wasn't retarded enough to go for a poo-in-loo language as my focus.
>>
>>51809615
How about you try actually reading the thread?
I did post a benchmark earlier.
>>
>>51809640
>the benchmark that doesn't exist clearly exist good goy!
>the existing benchmarks, on the other hand, don't exist!
>oracle ackbah!!1
>>
>>51809662
Alright, well, I can't help you if you can't read the thread, or even search for links.
>>
>>51809627
The difference is that the C++ guy had over 50 years of experience while the other people had around 5.
>they were still faster
>>
>>51809633
I'm only an intern. $20/hr internship is god tier. My company is one of the top paying tech internships in the country. If offered a job, I'd make a few times more than $20/hr. I'm happy with it, plus I get to do something I love and am good at.
>>
>>51809678
Some of them were pretty fresh out of school. Lots of eastern Europeans know C++ ridiculously well and use it for everything.
>>
>>51809076
memes?
>>
Java is one of the most dogmatic languages out there. Not so much the language itself but the culture with strict adherence to OOP even when it makes no sense.
>>
File: cheers.gif (503 KB, 635x450) Image search: [Google]
cheers.gif
503 KB, 635x450
>>51802411
>tfw learned c and c++ first
>tfw that was all i needed to know
>>
>>51811558
>most dogmatic languages out there

>highly optimized bytecode
I get this from even the classes I'm taking. It sounds like a sales pitch
>JVM is all that.
This really gets me. I remember when I viewed having to have vbrun100.dll (or whatever it was) for visual basic programs was a negative thing, but having to install Java JVM is supposed to somehow be muh portability.

I get it and all, but WTF?
Don't get me wrong, I'm learning it now but this shit is annoying. It's like apple fanboys.
>>
>>51809349
but nobody can do it anyway
>>
File: 1403771783402.png (170 KB, 550x689) Image search: [Google]
1403771783402.png
170 KB, 550x689
My uni started with and mainly enforces most CS courses with C/C++ & bash scripting.
Then they have Java, Python, Scheme, Prolog, Haskell as elective, special topics courses.

>mfw when I'm at a meme Java school
>>
>>51811904
They should have cs/programming tracks. Web devs get JS and python, ruby, php. Hardware, Compuer Engineers get C, assembly. Etc. Enterprise wage slaves get their precious Java.
>>
>>51809059
like?
>>
>>51812270
java/C# and their forced OO.
>>
>>51803964
>Stanford
C++
>MIT
Python
>Harvard
C, PHP, and JavaScript plus SQL, CSS, and HTML (copypasted from their website)
>>
>>51802411
ITT OP is a retarded java programmer who can't manage other languages and projects that onto all java programmers
>>
>>51804836
>>51804891
There was no code-leak, decompiling and hence reverse engineering minecraft is piss easy witb the right tools.

I do agree that notch is an idiot though.
>>
Prefer 'C' here except in cases where I need cross platform GUI. In the latter case, Java is a beautiful thing. Netbeans makes it easy to layout a form and activate the event handlers. The rest can be done in VIM.
>>
lol.

what's wrong with java?
not enough meme functional bullshit for you yet?
>>
>>51813554
>layout a form and activate the event handlers

do people still use swing?
>>
>>51813700
Yes.
>>
>>51813737
sounds terrible.

can you describe guis with XML yet or do you gotta use those gay tools to gen that shit for you?

I never really bother with guis except for gay smartphone development, so I'm kind of out of the loop.
>>
>>51813757
You don't have to use those gay tools to layout complicated forms, but then again I guess you could write all your code in assembly language too. I prefer to get the shit done and move onto something less gay.
>>
>>51813784
I was just wondering if you could just pass xml and have it blow up your gui for you at runtime, but ok?
>>
You are all idiots arguing with edgy jobless kids who don't k have the slightest clue about the real world. I'm enjoying this thread. I can see how many people here lie, just to win an argument over the internet
>>
>>51813857
Sorry, didn't mean to be rude. I don't even know much about smart phone java dev. I think I did a hello-world android app one time, but that isn't really the same realm as desktop java. Netbeans generates your form and event-handler code real-time. It also reads any edits back in that you did externally to fill-in those event-handlers, etc. It is actually a quite nice way for 'C' fags to get GUI development for Linux/Mac/Windows out of the way as it is required. It just works. The API is pretty huge by now, so it takes some time to familiarize yourself with it. Swing is still very much at the center of GUI development.
>>
>>51814055
>swing
>2000±15,977
>>
>>51814114
Sorry, should have been more specific in the "JAVA" thread. Swing is still very much at the center of JAVA GUI development.
>>
>>51814141
Didn't say it wasn't still used. I'm an intern atm and we use Javafx which is awesome, that's all.. I still have to learn a lot though
>>
It is practically impossible to teach good programming to students that have had a prior exposure to Python/C/C++: as potential programmers they are mentally mutilated beyond hope of regeneration
>>
File: 1429814485383.gif (2 MB, 320x362) Image search: [Google]
1429814485383.gif
2 MB, 320x362
>>51815873
Mwf learned python first and c++ after
>>
>>51802411
Nice bait. If someone is determined then they will learn new languages.
>>
>>51802411
Java is meh, but it is good for testing algorithms.
I think Meatlab is the real programmer killer out there. I made the mistake of taking a matlab course freshman year, it had some bad consequences when I had to take data structures class afterwards.

VHDL is clearly the best programming language.
-Angry VHDL Nerd-
Thread replies: 157
Thread images: 14

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.