Is UML just a meme or do people actually use this crap?

Is UML just a meme or do people actually use this crap?
My professor tries to meme us into learning it, but I'm sceptical.

If I had team and you needed to design software, I might use uml for the scepting, unless somebody knew a better way draw class hierarchies for implementation.

A poorly planned program takes far more effort implementing than it takes to just plan it in the first place.

100% meme, anyone who tells you otherwise is an incompetent old fuck out of the 1990s

all the details and stuff are a 90's meme but knowing how to "draw software" is something you'll need

UML exists so that the programmers can show something of their work to the non-programmers of the company who can then pretend to understand what's going on.
Why the fuck would a programmer waste time trying to use a language that can't be used for automation? Either you're doing the same work over and over or the UML is a byproduct of your other work that you just generate with a script whenever someone else wants to pretend being competent.

you can generate the class classes with UML, then you just need fill in them implementation.

Classes are better defined on the header, where they should be. You don't need UML to make a fucking diagram of how they relate, nor put on that diagram every method the class will have.

I'll be learning UML this semester, any book recomendation?

We're using some old as shit Software called Raptor in my CS class

You mean you'll be expending the whole course on UML? kek

Hell no, it's only one subject (I hope). They recomended us "Applying UML and patterns" (looks good), and "Software Engineering: A practitioner's aproch" (Utterly crap, I hope it gets better after chapter 5 or I'll drop it).

I like to sketch out the initial database design with a class diagram on a whiteboard. It's pretty useful for the first few weeks when you still don't remember every detail of your data. Onboarding new members is also easier.

Sequence diagrams come in handy when you have a larger system and you implement a feature that requires changes in many places. Especially web development where you might have a complex front-end app that communicates with multiple back-end services, that in turn might communicate with external APIs.

UML is used to explain how your software works to people who don't know how to program. It's a meme.

Planning out how you're going to put your program together and charting how the flow of control is going to look is non a meme.

Worrying about whether you used the specific shape of box that UML specifies in your flowchart, that's a meme.

UML is bullshit nearly everyone in your field has to go through and you know what, you won't ever need it. Just say fuck it, do what you need to do and then forget it.

Let me guess, you are a millenial asking yourself why X or Y subject exists, right?
The fact that you dont see a real life use cases of such subjects doesnt mean that thoese doesnt exist at all.
Is good to have an inquisitive mind as a student, but your case have more in common with the lazy hard-to-satisfy know.it-all millenial student profile.

>in university in 2017
>"Let me guess, you are a millenial"

Damn this guy's been taking his fish oil

I was forced to learn UML while taking courses. Sometimes it's nice to get a visualization of how your code is structured, some people are just more visually oriented. Probably not something you're going to remember or care about out in the field.

This triggers my avocados

If you go into research then it's useful for adding to grant applications or showing off to your boss's boss.

Uml distilled by Martin Fowler

it's so you can organize your program better

if you don't use it, you'll end up using something a lot like it to architect your work

a painter begins with broad strokes, bold colors and rough outlines, then fills in the details.

a composer begins by rough sketches of the narrative and harmonic adventure, then fills in the details.

a software engineer begins with UML or something that looks a lot like UML, then fills in the details.

for smaller programs it is not necessary. but even so, you can use it or something that looks a lot like it to organize what you're working on.

at first it's good to learn how to organize your code etc. But in the end once you have some experience you stop using it

Thanks.

Since it's only about 200 pages seems a good choice for reading before UML and patterns.

A good test suite fulfills basically the same purpose, and has the added benefit of being able to, well, test.

Not UML.

It would be useful if the industry were full of competent people who understand OOP, but it isn't.

One could arguee that even the headers have the same purpose. The whole point is to make it visual, which in my opinion is only OK if you don't go into depth (so only class names, not properties or methods, that should be defined directly on the header)

Have never needed to use it

College profs make all sorts of illusions about how the real world works to justify their courses

I've been programming professionally for 4 years now and I have never had a use for UML. I think it's worthless for actual work. Anything you might want UML for is better handled by using a whiteboard and talking to people.