[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
Should a programming noob a year into using only C++ learn Java?
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: 47
Thread images: 2
File: ss_20160205_at_08.08.14.jpg (34 KB, 641x435) Image search: [Google]
ss_20160205_at_08.08.14.jpg
34 KB, 641x435
Should a programming noob a year into using only C++ learn Java?
>>
you should never learn java, java is for _____
>>
>>53862169
learn HTML
>>
>>53862169
What did this professor mean by this?
>>
>>53862198
No HTML is shit
>>
>>53862204
That's Hal Abelson from the MIT course "Structure and Interpretation of Computer Programs". He starts out the lecture by saying that computer science isn't really science, and that it's not really about computers, supposing instead that it is more like engineering with abstract, idealists components that are not subject to the laws of physical reality. You can watch the lecture on youtube or mit opencourseware
>>
>>53862204
CS is about math
>>
>>53862273
idealized*
>>
>>53862182

Java is for most of largest sites onthe internet, the lion's share of mobile devices, embedded systems, and aerospace?
>>
>>53862169

Learn more C++ first, because you probably aren't likely to go back to C++ after Java unless you want to do low level hardware work (and even then, a fair amount of that is Java).

Once you have the JVM managing memory for you it makes things much, much more intuitive and fluid.
>>
>>53862169
Javas syntax is pretty much identical to C
>>
>>53863803
literally what?
>>
>>53862273
engineering with abstract idealized components is call science otherwise, it would just be engineering.
>>
>>53863975
I'm saying Java is piss easy to learn if you know C and basic oop
>>
>>53862204
This isn't science, nor computer.
>>
>>53863048

Well done Pajeet. 10 rupees have been deposited. Keep up the good work.
>>
>>53863803
>>53863975
>It uses brackets
>>
File: 4L_gr4GOtpf.gif (481 KB, 500x321) Image search: [Google]
4L_gr4GOtpf.gif
481 KB, 500x321
>>53863078

Literally what? My god the shilling in this thread is giving me cancer.

JVMfags
>>/out/
>>
a year in c++ is more than enough, leave that ugly language behind and join the darkside of garbage collected languages. a month from now you won't even remember what a pointer is.
i did c/c++ for 4 years and i don't miss it one bit
>>
>>53864378
this desu
memory management isn't fun or interesting
>>
>>53864378
just so i don't get called pajeet by the angry neckbeards, let me clarify: i don't like java either, it's a bloated piece of crap. but it's much, much, much, much better than working in c/c++ unless maybe you're building something that absolutely requires low level stuff
>>
>>53862169
Hey OP, it depends on what you're looking to get out of learning how to program computers. You should have a project in mind that you want to build, and learn the tool that is the best for the job. I believe a project based approach to lear programming is the most fun and productive way to do it.
>>
>>53864191
Fucking kek'd
>>
>>53862169
No, java is useless
>>
>>53864024
I'll take Proffesor Hal's word over yours you fucking cuck.
>>
>>53862169
>post this
>fags on /g/ spout bullshit about how I'm retarded for believing that true computer science doesn't really have much to do with computers or science
No YOU'RE the faggots, Anon.
>>
Learn JavaScript. I'm not joking. It's fun, you see cool results in the gui immediately rather than just a console in/out. It teaches both imperative and functional programming. Plenty of job openings for those who know js. Anyone who doesn't like it just can't into type coersion, but you don't even have to use that.
>>
>>53864971
you do that
>>
>>53864984
There's philosophical debate about whether or not math is a science :^) Not everything is black and white like in your mangas anon
>>
>>53862169

I will now answer every single fucking post or thread that has ever asked any variation of the question "uh, guise, should I learn X?"

The answer is:

LEARN IT IF THERE'S MONEY IN IT

If your job requires you to learn X then learn X

If there's jobs you want that require you to learn X then learn X

If X is the big up and coming thing, and you reckon there is a shortage of people who know X, and you think you will be super employable if you learn X, then LEARN X

It's not fucking rocket science, it's up to you to assess what the job market of your particular area (web dev, big data, big old stuffy bank applications development) is like and skill up accordingly

USE YOUR FUCKING BRAIN FOR ONCE IN YOUR DAMNED LIFE
>>
>hating the best programming language because it's "ugly"

Millennials should stay away from computers.
>>
>>53865631
>wageslave mentality
>>
>>53863078
Nah. I know both. C++ was my first language. I still to this day prefer it for anything non-web-related
>>
Lear Fortran. Its making a comeback
>>
You should just kill yourself 2tb.
>>
>>53864371

What part are you confused by, exactly?
>>
i hate c++ its too complicated, java adn python are better
>>
>>53866367
C++ is exactly like java 90% of the time and the other 10% of the time, it is just whats left over from C
>>
i herd the best is when u lern c++ and c and use both at the same tiem to get speed in development and result
>>
>>53862169
Learn new languages all the time. Switching to Java is simple from C++, minor syntax differences, all mostly library stuff. Most imperative, OO languages are very similar in their syntax: C++, C#, Java, Ruby, Python, JavaScript, etc. They're all used for slightly different things, but switching is trivial, and later on you'll be able to jump in and out of imperative languages whenever.

If you really want to expand your horizons, you need to learn new paradigms, entirely different styles of programming. Learn functional programming. Learn Lisp. Learn function-data style like C. A entry point (for all of these concepts, actually) is Clojure. Don't start with Haskell like the neckbeards want you to. F# or OCaml are pretty good choices, but you will have to wrangle the type systems.

Keep in mind, if you're only two years in, you may only feel comfortable really jumping into an alternate paradigm pool in a couple more years, but also know that by that point you'll have lots of imperative and OO convention drilled into your head that isn't necessarily applicable, especially not in all situations. Just know that when you want to build software - REAL software, large in scope and necessitating a team and/or lots of time - object-orientation is almost always a bad choice. Take everything you learn about C++ and Java with a grain of salt. There are a lot of OO blowhards out there, so just remember this: Objects are just maps. Maps, passed around by reference. And methods just have implicit references to those maps. They are not by any means the divinely ordained concept OO blowhards say they are.
>>
>>53866320
His sexuality
>>
>>53866607
>REAL software, large in scope and necessitating a team and/or lots of time - object-orientation is almost always a bad choice
give some examples because almost all large projects I know of are done in oop in one way or another
>>
>>53866650
A lot of these big projects are internal data services or web services. Big ol' software suites that hit a database, and then organize and serve up data.

Because of mutability and the danger of passing around references, a lot of these projects end up getting bogged down in service and factory and provider classes that don't at all fit the shining city on the hill sales pitch of OO. Their purpose is not immediately clear without a lot of context, and they're just attempting to control the complexity introduced from the fact that references to mutable objects are being passed between threads and functions and classes all around the program.

If you're going to serve up data, it makes a whole lot more sense to do that functionally. How do we construct a page that accomplishes a service by interacting with a database? We do it recursively. The page served back is a function of a few things: The request (user credentials, specific page or action, etc.) and the database, which can easily be the only "stateful" component. The page is constructed by a template of some sort, and data is fetched to fill that in by calling simple functions. We can use anonymous functions or composed functions to better sort the data we want before we serve it to the page. And it can all be immutable, with the exception being the DB; by constructing the page from the request all the way down to the DB, template, images and styles, etc, it's all basically a big tree through which immutable data can be fed through from function to function. We don't need any objects or references. It's a whole lot simpler.

I've been reconstructing a web service for work in Clojure which was previously built on ASP.NET with C#. It had few dependencies, so I could justify the switch, but I've finished it in a fraction of the time with two magnitudes fewer lines of code, and with literally zero bugs or unexpected behavior, because objects and references aren't need to make a data-backed service.
>>
>>53863048
>aerospace
No it's not.
t. aerospace engineer
>>
>>53866896

NASA's ground control and modeling software is largely Java.

Boeing uses Java.

Raytheon uses Java.

Bombardier uses Java.

Lockheed Martin uses Java.

DnD and USAF rewrites Ada to Java.

t. interviewed for dev work in Java at Boeing and Lockheed Martin

>Please, tell us more about how you know nothing.

>also, being a first year undergraduate student in an aerospace engineering program doesn't make you an aerospace engineer
>>
>>53866607
>Switching to Java is simple from C++, minor syntax differences, all mostly library stuff.
This is why "CS grads" write bad code. They think that because C++ looks like Java, it behaves like Java, so they don't think about memory or anything else, and end up with memory leaks and bugs everywhere.

>later on you'll be able to jump in and out of imperative languages whenever.
This is so ignorant, only a Lisp ``programmer'' (or a troll, which is practically the same thing: see Poe's law) could have written it.

>Learn functional programming. Learn Lisp.
How did I guess?
>>
>>53868700
you shouldn't have memory leak problems if you write C++ like java, you'd only run into those problems if you think you know better than the compiler and do your own memory optimizations and abuse pointers for no reason.
Thread replies: 47
Thread images: 2

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.