CS majors say C++ is too hard

>CS majors say C++ is too hard.
>Yet, scientists and engineers regularly learn it as their first and only language without ever taking a CS course.

Explain yourselves

Other urls found in this thread:

pyvisa.readthedocs.io/en/stable/
elementsofprogramming.com/
cs.cmu.edu/~rjsimmon/15122-s16/schedule.html
symbolaris.com/course/fcps16.html
twitter.com/SFWRedditVideos

scientists are the worst programmers on the planet.

but still, students are fucking babies

>flagrantly retarded and unsubstantiated assertion given as fact

great thread

>Yet, scientists and engineers regularly learn it as their first and only language without ever taking a CS course.

These days they learn python. If you ever get to use a super computer for scientific purposes it's mostly only python and Fortran

There's a difference between first year CS and third year. Ask the people that stuck with it for more than a year what they think.

...

>mainstream media says being gay is too hard
>Yet, OP can't stop sucking dick

Explain yourself

I like hard things.

t. OP

How long would it take me to complete programming principles from Stroustrup?

Who says this? My university recently switched from Java to Python, I was in the last year of Java and nobody was complaining. I think you're confusing "Academics see a massive drop out rate and assume X language is the problem" with "Students think X language is too hard".

>scientists and engineers learn it
Says who? In my experience, scientists rely on Fortran and Matlab/GNU Octave.

My university runs linux(with vim) in the labs, and makes you use C++, also have to learn a second language of your choice. Nobody complains, not sure where OP is coming from.

my profs use Matlab/Mathematica/Python, and the things they're doing are relatively simple vs what I assume even upper year CS students learn

using programming to solve ODEs and find values is a lot easier than using it to make Facebook or videogames, whatever CS students do

How much free time do you have?

>GNU Octave

Nobody uses that shit, stop pushing that meme.

This whole month. Next year back to uni, but I could give it half to an hour daily. It's either that or the Python's e-book in /sci/ wiki.

About 2 months. You could do the essential topics in less than a month though.

Man, I really wish I did Engineering instead of CS. It really was a meme all along

>If you ever get to use a super computer for scientific purposes it's mostly only python and Fortran

HPC is mostly done with C++/C and Fortran

Python is rather inconvenient too when you have a revolving door of students using different versions of it and wrecking dependency management. It is free so there is always that. Is VISA finally something you can use with it? The other half of the science coding experience is usually doing something with labVIEW and boy is that a meme.

C++ is regularly the first language you learn as a CS major too.

Engineers "learn" C++ in a few weeks and end up writing the absolute worst code. Am I supposed to be impressed?

90% of people who use C++ are just writing C with boost. They don't learn any of the gnarly shit which can make C++ a mess if used poorly.

fpbp

suck my fucking dick you fucking retard

>C with boost

no, they're just using boost

Boost is actually really nice when you don't want to roll your own standard library and you want to use even remotely modern programming practices.

Boost is actually really nice when you can afford to spend 20 minutes compiling for every single update instead of spending 10 minutes writing your code without boost the first time

Python has VISA. I setup a testbench at work with it the other day. Kinda slow, but was easy to setup and config.

pyvisa.readthedocs.io/en/stable/

>Kinda slow, but was easy to setup and config.
Python summarized

this is completely untrue

they use matlab

Sure they do. My sister is in Mechanical Engineering and her programming class uses Matlab and Octave. The only bad thing about Octave is that the documentation for it is horrible.

>CS Majors say C++ is too hard
this is what happens when you have mediocre normies looking to get rich in the tech industry

Yeah well my friend's dad works at nintendo and they use matlab everywhere

>C++ is too hard

If you think you know C++, read the Elements of Programming elementsofprogramming.com/

It's a lot harder than you think, especially when dealing with template and complexity hell.

c++ has many features you seldom use but i find it easier to write and read than c

well my package manager comes with boost so I don't have to compile it, and I mainly use the header-only libraries so I don't even have to dynamically link with anything. what are you using windows or something?

???

Yeah, the way I write C++ can basically be described as "C with some bonuses."

what the fuck is this intentionally overcomplicated academic bullshit

>well my package manager comes with boost so I don't have to compile it, and I mainly use the header-only libraries so I don't even have to dynamically link with anything. what are you using windows or something?
How can somebody possibly miss the point this hard?

Heavy boost usage makes the compilation of your C++ code insanely slow. Ever wonder why every big C++ project takes like an hour to compile?

>I use the header-only libraries
Yeah, AKA the slow ones, because they do everything at compile time

well its either I use boost, or I re-rewrite yet another string_view class and still get subpar compilation times because C++ is impossible to compile quickly (relies on compile time code eval, aggressive optimizations, overload resolutions from a wide array of specializations/implicit casts).
i really should just be using Rust instead

Modern C++ = C with templates and STL

>I really should just be using (SJeW shit) instead
no

No one uses Octave. My engineering professor outright told us to pirate Matlab.

>c++ has many features you seldom use

Good thing no one is expected to write their own C++ compiler

EoP is how to write C++ using abstract algebra.

fuck off with this bullshit, i literally could care less about what kind of arguments some fags are getting into on github, Rust is an improvement over C++ (and the direction C++ is going in anyways), and has enough tracking to have hopes of surpassing that awful language.

"modern C++" = unique_ptr's, lambdas, iterator algorithms etc., all stuff C doesnt have anything close to.

>compiling the whole project

Make files mother fucker, learn to use them.

kill yourself rust admin

>cs majors say c++ is too hard
no they don't, stop deluding yourself into thinking you're better you fucking neet

Literally what are you talking about?

>scientists are the worst programmers on the planet.

What about Pajeets?

kill yourself idiot numale SJW nazi cuck

Why so butthurt?

>using a Sup Forums meme
kill yourself now

EoP is how to reason about programs, using C++, to ensure you are creating correct software. As mathematics helps mechanical engineers build bridges that do not collapse, mathematics helps programmers build dependable software.

The axioms/formal logic they use is pretty elementary it's not hard to understand if you've taken any 'Introduction to mathematical reasoning" or Intro to doing proofs book. It looks difficult but isn't, what is difficult is reasoning about what you've just written and seeing if it's correct. That's the hard part.

I once had to audit a gigantic function which took me a few days just to even find a loop invariant (something that doesn't change everytime you go through the loop). Then I had to write a contract that satisfied that invariant which took another few days. Then, running through the loop I discovered it violated the pre and post conditions of said contract and I ended up saving a major company from disaster by fixing said loop with a very simple fix to satisfy the contract.

If you're interested in this shit, see this:
cs.cmu.edu/~rjsimmon/15122-s16/schedule.html

Also this, but requires elementary knowledge of differential eq symbolaris.com/course/fcps16.html

The hackjob we are calling internet is the best example 2bh. Lee just should off smashed some particles in his collider or banged his wife during the holidays phamilia

Usually teaching staff and how courses are planned with material are reasons why some courses suck not because material is difficult.

Difficult material + shit teaching + shit help available = garbage course. It's garbage because students won't really master anything from the course, which means they are reluctant to ever apply it. That's just my experience. I had a dipshit who was smiling if he managed to fail 80% of people in course in a given year, higher ups in uni did nothing to fix his mandatory garbage courses either.

Welcome to the world you fucking autist. I mean what the fuck? Are you that dense you can't understand the reasons? For one, scientists suck at programming, and two CS courses are meant to get you ready for the industry. Last time I checked there were ten popular languages, and with back end stuff there are so many alternatives.

Perhaps you should just calm down? I don't think you understand the different needs for the industry, If we all only knew C++ then we wouldn't have the diversity of the inernet like we do now. So much flexibility with understandable ( for the average person) syntax, when that comes ( It has ) then your idea of computational purism can fuck right off. The hard way Isn't always the best way. I wonder If your toolbox only has a hammer, ya fuckin cunt.

(((diversity)))

>loop invariants
damn I hate doing those, even if it's useful

Diversity - a range of different things.

plural noun: diversities

"newspapers were obliged to allow a diversity of views to be printed"

Maybe you just need a remedial reading class.

All those languages are going to disappear quick, we're going back to C/C++ and Lisp.

Look up webassembly. It's essentially using C/C++ to create a binary pushed through a browser. As for Lisp there's still a dozen languages released every year that are just Lisp rebranded. "You can create a data abstraction without constraints and eval!"

a range of (((different))) things

The trick is once you are aware of them you look for them immediately when writing a function so in effect are doing test driven development where everything is already totally reasoned out before you even start programming.

I learned this all from a senior developer as I noticed everybody older than 40 where I worked was carefully planning programs for months before even touching code. OpenBSD does the same kind of development, months of work on a whiteboard and manually checking loops on paper. It pays off in spades when the program you make is not an unstable bag of shit

I agree, It will slowly go back to C++. We all know this, the only advantages to say Python Is It's syntax. But this Is good for the next generation of programmers, get them on Python 3, or Java, or Ruby to get their feet In the water then once the things like web assembly are so wide spread we will atleast have a college base of students that can learn the fucking shit. I mean, sure most Comp Sci majors are just retards with a complex. But I learned C after Python, and C++ after Java, for me It's a sense of just letting the people learn what they can ( Easy syntax ) and with that foundation they can build upon It.

Yeah but for the moment we just have to find the invariants in functions that our teachers coded and sometimes it's a clusterfuck

Cont - In summary, maybe we shouldn't be posting C++ master race, It puts people off. I mean shit, years and years ago this was the running thread topic on the board. It only makes people hate programmers more, and It makes them more willing to never learn the language.

All the Python I see everyday is just a wrapper for C++, like TensorFlow library.

Where I work we stopped using the wrapper and just directly use C++ for these libraries for various reasons, mainly Python's weird issues and corner cases. I find working directly with memory and manipulating it much easier than allowing abstractions in Python or worse, Ruby which has so many issues I can't even. Every couple of weeks, a gem is altered, so now your silly app propped up by a dozen docker containers mysteriously misbehaves and you have to track down the issue. I have no idea why anybody in their right mind uses Rails or Ruby but w/e, it's the way it is.

>Yet, scientists and engineers regularly learn it as their first and only language without ever taking a CS course.

Wrong.

Those CMU 15-122 lecture notes are good for seeing how they found the invariants/preconditions. The actual videos were up for a while, where they painstakingly went through shit like Quick Sort and Binary Search Trees to discover invariants and talk about how doing this exposed a flaw that existed for over 20yrs

Learning C/C++ doesn't really show it's benefits until you learn some ASM. Then you start seeing how code gets translated to machine operations, how some keywords and optimizations work, and you understand where stack or heap memory is and other concepts that make the computer seem more like a mechanical engine than some magical mystery box. It also gives you an opportunity to experience abstraction and larger concepts too.

After that, any language becomes just a different syntax for a tool.

Then there is the fact that many academic degrees are just a fancy piece of paper to justify an expensive adult daycare.

This.

Haters are either ignorant or just fucking retarded.

They learn matlab or R

tumblrist samefag

CS is glorified tech support phone help desk and secretary work in MS Office.

Got any other books that deal with this stuff?

Why do people think java is less of a pain than C++? It's C++ with 2000% more boilerplate bs.

We used maple. At home i enjoyed to work with mathplotlib.

Let's pretend that Fortran is dead.

Look at the code written by scientists and tell me they actually know what the fuck they are doing. You have not experienced true hell before reverse engineering 3000 line C# programs with the entire program logic contained in form1.cs

Can confirm, also its not like it's hard to learn other languages when they are needed for something.

Shit, we get everything for free in our uni

I'm a scientist and can confirm. In their defense most of the code they write are only used by themselves, often only a couple of times. It doesn't make sense to clean that shit up too much.

python is mostly used for automating the underlying bare metal simulations and/or processing the resulting data. Sometimes useful, if your problem can be represented as matrix multiplications, then you can use numpy, otherwise it's shit slow.

I'm a pajeet and can confirm. In their defense most of the code they write are only used by themselves, often only a couple of times. It doesn't make sense to clean that shit up too much.

Mathematician here

Actually in my numerical analysis and programming methods course during my bachelor's degree we used C++, there also was an optional python course and a matlab one but nothing special, in another course we used mainly c++ and fortran
I'm in pure maths so i don't know well, but a friend of mine in applied maths told me that he uses c++ and matlab daily

>Mathematician here

Not considered a science by the other sciences. Science don't have proofs, science have evidence that support a hypothesis.

I am an engineer so not considered a scientist either because I only apply science. The only programming I learned in university was Python and Matlab. We never had the opportunity to learn c++ or fortran.

Particle physicist here. For small, straight forward analysis I've used python and gnuplot. For everything serious I've used C++ though. Fortran isn't really being used anymore, except for LoopTools. I have never written a single line of Fortran code though, just compiled it.

Literally this. Nuff said.
/thread

Hey now, I'm a CS grad student and I love C++. In fact I have used nothing else in the past 2 years (even though I also know C# and Haskell). It's just the perfect balance between abstraction and no-frills low level control for my taste.

C++ is only hard if you're stupid.

But there's an ongoing meme about it being hard, which is fine, since it keeps me on the bread.

It's basically maxing out the compile time to grasp for a broken academical dream of making just another small, meaningless part of programming checkable. Just another of thousands of axioms that won't help you shit in the real world.

java to python person here
you can't do java without an IDE
java out of the box needs code management

I had to learn C++ in my second semester for my applied math degree.

It was seriously embarrassing to see that so many CS were alot worse then me.
The weekly homework required about 1/5th as my math classes did and somehow some of the CS students complained how hard it was.

First year here, but not "muh consistent employment!!!" type. Just genuinely like learning CS topics. Love C, C++ seems like something I'd like to learn.

You have no fucking clue what you are talking about.

Doesn't recursion simplify loop invariants into a problem of induction?

what are you even trying to say?