Тёмный

Standardization limits the highest performers (Jonathan Blow) 

Blow Fan
Подписаться 15 тыс.
Просмотров 22 тыс.
50% 1

For a programmer, the code you write is your house and you should be free to decide how your home looks. Jonathan Blow believes in the power of 10x engineers.
Tip me: ko-fi.com/blowfan
Jon's Twitch: / j_blow

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 157   
@KilgoreTroutAsf
@KilgoreTroutAsf 2 года назад
I remember I once wrote some code for a chemistry program where we needed an array of constants for each element, so I formatted the array declaration in the shape of a periodic table for easy lookup and interpretation. First response was "oh, wow, that is such a visually intuitive representation! good job!" Second response: "this breaks the project's formatting style guide; you have to rewrite it as an array"
@KANJICODER
@KANJICODER 2 года назад
I do this type of formatting ALL THE TIME , obsessively. I also draw ascii diagrams and label those diagrams with the same variable names used in the code.
@anderdrache8504
@anderdrache8504 2 года назад
Or just adding a space so that 1s and -1s line up when defining vectors or something, auto formatters and "style guides" just ruin all that. I think some rules can be useful, like "don't try to make your lines longer than 120 characters" because it allows everyone to fit the code on their screen but most rules are annoying.
@KANJICODER
@KANJICODER 2 года назад
@@anderdrache8504 Auto formatters were probably designed for web programmers who never do any math more complex than addition.
@MrAbrazildo
@MrAbrazildo Год назад
Could you illustrate it in a C++ sample?
@colto2312
@colto2312 2 года назад
So i used to build computers. we had high performers we had slow performers. Management asked for assembly line. I gave them assembly line. Now the high performers work at rate of slow performers. It's that simple
@botbeamer
@botbeamer Год назад
rip
@ArksideGames
@ArksideGames 3 месяца назад
😮
@tuphdc8779
@tuphdc8779 Год назад
the Alpha Chad decorates his own house
@juanpanchoec
@juanpanchoec 2 года назад
I don't know what is it specifically that you dislike about the spacing shown (maybe everything), but I started intuitively using braces aligned that way because it's easier to find where they open and close. When I started programming I didn't even knew code editors existed and highlighting was not exactly a thing... The easiest way to have nesting levels pop out on sight in monochrome was to have them look like a corner between the different sections of code.
@badstep495
@badstep495 Год назад
yes, that makes sense, but it wastes a lot of lines, which makes it harder to see and understand longer functions (especially with branching). You can still use indentation to make it obvious where sections start and can keep the curly brace on the same line. In the end it is personal preference (C# enforces new line braces, I believe, Rust same line)
@ChaotikmindSrc
@ChaotikmindSrc Год назад
@@badstep495 I personally find it hard to see what's happening with indentation alone, aligned braces does the job for me (+ indentation ofc)
@SaHaRaSquad
@SaHaRaSquad 2 года назад
The important thing is to not enforce rules 100% of the time just for the sake of it. The one purpose of source code is to be readable by humans. Jon put it nicely with his house analogy. My personal code style is pretty weird by now, one night I decided to only follow one "rule" when formatting my code: it has to be readable at 3AM when I'm tired as hell. The result is not exactly consistent and includes some weird alignments but I like it.
@miikavihersaari3104
@miikavihersaari3104 Год назад
I'd say being readable by humans is one purpose of source code, and not all code is optimised for that. In certain contexts it makes more sense to optimise for other things, such as performance. That's not to say you couldn't still use indentation and other forms of formatting to make the code as readable as possible, just that the order of priorities depends on the situation.
@botbeamer
@botbeamer Год назад
Who told you the only purpose of source code was to be adapted to humans ?
@1vader
@1vader 2 года назад
I think Jon's opinion makes some sense in the environment he works in where there are only very few people working on the same project and they are probably working on their own parts most of the time. But it's so much nicer to have uniform code formatting in larger projects and even whole ecosystems, especially when you frequently work on many different smaller things. As long as the formatting is reasonable, I don't care about the specifics at all and I much prefer to just have the decision and the work to manually format stuff taken away from me so that I can focus on doing actual work and make decisions that matter. Which I guess is primarily an argument for auto-formatters but using inconsistent/different auto-formatters when working with other people is hell. I'd take some small formatting decisions that I don't like any day over having to manually format my code. Personally, I think pretty much all the people that don't like this are simply dead-set on their own style and don't understand that it's largely just habit and you can easily get used to another style.
@franciscofarias6385
@franciscofarias6385 2 года назад
Yep, goformat is made under the assumption that formatting only gets in the way of the actual code, and as long as it's something clean and reasonable and standardized the details doesn't matter. I agree with this line of thought, Jon apparently doesn't.
@gkelly
@gkelly 2 года назад
I agree with this thread. The interesting ideas in programming aren't expressed in the indentation and bracketing style. Allowing programmers to not have to care about the inconsequential details is freeing.
@Bjarkediedrage
@Bjarkediedrage 2 года назад
​@@franciscofarias6385 Go takes it WAY too far IMO. You can't even outcomment code out quickly debug something without it screaming at you that some variable is now no longer used ... I know!!!! Shut up and compile anyway! Go constantly got in my way with a million small things, I hated every second of working in it.
@Bjarkediedrage
@Bjarkediedrage 2 года назад
​@@gkelly I mean that's why I hated to use go so much... I don't mind other people formatting their code the way they like, like at all! Reading code with a different formatting style than mine? Also, fine. Whatever, I'm spending most my time writing code, not reading it. Let me do it the way I like, or find convinient and helpful at the time. Imagine you were a wood craftsman, or a chef? Where would you rather work? On a table with a lot of tools at your disposal, and you're free to use them as you see fit? Or at a table, where you HAVE to do everything according to some specification? If you lay the screwdriver in the wrong position just for a brief moment, some guy will interrupt you, and tell you not to do that. To me, that is painfully annoying! I have my system that works for me, I like it, now please go away. Sir.
@captlazerhawk
@captlazerhawk 2 года назад
Yes your comment is not relevant he is specifically talking about the horribly annoying go formatter and compiler.
@UODZU-P
@UODZU-P 2 года назад
This makes sense if a company is made up of 10x devs. In reality they have 100s of devs which have some degree of turnover and need to be on boarded quickly and consistently
@MisterFanwank
@MisterFanwank 2 года назад
Ask me how I know your projects are worthless shovelware.
@louisgjohnson
@louisgjohnson Год назад
I love auto formatting, means I don’t need to think about it
@fennecbesixdouze1794
@fennecbesixdouze1794 2 года назад
There is an enormous amount of room for decorating your code while adhering to a code style, no matter how rigid. You still decide where all the code goes, what you break out into functions, how you organize it at every different level of organization, what your identifiers are, what comments you add, etc etc. ... which of course is why big organizations also impose other standardized coding conventions beyond style to eliminate any creativity 😂.
@VolcanicPenguin
@VolcanicPenguin 2 года назад
The problem with gofmt is that it won't break my functions into smaller chunks of five rows of code per function.
@AlexAegisOfficial
@AlexAegisOfficial Год назад
About auto-formatting: This is very much an opinion of someone who works on projects alone. Auto-formatting is there to eliminate useless arguments about formatting and more importantly to eliminate a huge portion of merge conflicts. I agree with Jonathan on a lot of things, this isn't one of them.
@XTrumpet63X
@XTrumpet63X 2 года назад
You can have all the style guides and auto-formatters in the world, that doesn't change the fact that 50% of programmers will look your perfectly styled code and think it looks weird. Most style arguments are appeals to authority or bandwagon fallacy, and it's just not the part of programming that I care to focus on.
@cdarklock
@cdarklock Год назад
As someone who uses this style of brace placement, it's because I can visually pattern-match left brace with right brace moving vertically. I see left brace, I scan straight down until I see right brace, and I know where the bounds of this code block are. It's just easier for me to parse visually. I got this from reading BSD UNIX source back in the 70s and 80s. When I finally saw ATT style 1TBS, I needed to look at the end of the first line, which might be off the screen to the right... and now I'm scrolling over whenever the code indents to see what exactly I'm looking at... but either way the horizontal eye movement slows me down.
@pskocik
@pskocik Год назад
Not a huge fan of that style. I like it when all the core parts of my algos fit in a screenful. Lone braces on separate lines waste vertical space, making the former harder.
@cdarklock
@cdarklock Год назад
​@@pskocik It's not wasted, it's used to improve legibility. If you would prefer your code fit in a small space, this is just the beginning of all the terrible decisions you are going to make
@lunabob-ie5qx
@lunabob-ie5qx 8 месяцев назад
color coded brackets get you the same thing
@cdarklock
@cdarklock 8 месяцев назад
@@lunabob-ie5qx What part of "horizontal eye movement" do you not understand
@krisdabrowski5420
@krisdabrowski5420 2 года назад
the word for fantasy communism is communism
@aronpop1447
@aronpop1447 2 года назад
go format is very rigid but js format is the exact opposite, you can write a function like 5-6 different ways. I sat somewhere inbetween is the best
@fleaspoon
@fleaspoon 2 года назад
Jon complains about fixed formatters like go, but what about formatters that you can customize to your liking? like clang-format
@NabekenProG87
@NabekenProG87 2 года назад
The beauty of saving and not caring about your formatting because you customized it to you liking
@バオバイバー
@バオバイバー 2 года назад
I am fairly certain that a lot of the design decisions in Go (including gofmt) were made by the Bell Labs guys to figure out how to prevent all the other employees at Google from driving them insane. It's so the high performers (who are the ones that made the language) can coexist with the massive amount of low performers. So yeah, it sucks if you're a high performer who wasn't someone who got to make the language, but also I can get why they made it that way, and it probably works alright for Google.
@Mallchad
@Mallchad 10 месяцев назад
We have git hooks for that...
@davidykay
@davidykay 5 месяцев назад
IMO, it was designed to the lowest-common-denominator. Listen closely to the language designers' design goals for Go and you'll find that a key objective was to enable rapid onboarding of recent college graduates with no prior industry experience. And that they had left out a lot of the fancier, shinier features in order to make it highly accessible and to enable any programmer to jump into any part of any codebase. The early discussions of the Go design indicate that they were trying to save Google programmers from the complexity of C++, but their design ended up bombing with the C++ crowd -- the C++ programmers missed the "low-level" control that C++ offers. In industry, there's a term called "Java Joe" which refers to an average, 9-to-5 programmer. Indeed, James Gosling and other Java luminaries will tell you that the Java language was designed for the average programmer in industry. My understanding is that Golang was deliberately designed for the modern day "Java Joe." Make your own determination, but I contend that the balance of evidence favors that Golang was not designed for hands-on use by "wizards" or "10x programmers," but by the rank-and-file.
@landonmackey1091
@landonmackey1091 2 года назад
Amdahl’s Law proves true for pretty much every single process that operates at a measurable rate or produces a measurable outcome
@johanrg70
@johanrg70 25 дней назад
I dunno, if your part of the code base is where you spend all your time, then sure. Write your code the way you want too, I don't care. But when you have a large code base I just want familiarity, if the code is formatted the same, I can scan and read it faster and that just makes my life easier. When I was younger I cared about my own formatting style, now I don't. There're so many other things in a code base that gets me riled up though. lol.
@UODZU-P
@UODZU-P 2 года назад
does JAI support emoji and unicode chars? cause I'm about to decorate the shit out of JBs code
@adamhenriksson6007
@adamhenriksson6007 2 года назад
This is why text is a terrible file format for code. It enables dumb discussions like this in the first place. Do what you want, it's not like the computer care about whitespaces anyway. Still waiting for my AST file format + editor
@user-dp3zr1qe3s
@user-dp3zr1qe3s 2 года назад
I 100% agree.
@UODZU-P
@UODZU-P 2 года назад
you started work on this AST editor?
@adamhenriksson6007
@adamhenriksson6007 2 года назад
@@UODZU-P Nah my dude, I'm just a web scrub atm. I like the work Ryan at DION systems is doing though, but the project seems to be on ice atm.
@danielsan901998
@danielsan901998 2 года назад
the solution is going back to using punch cards
@adamhenriksson6007
@adamhenriksson6007 2 года назад
@@danielsan901998 BIG 🔑
@HrHaakon
@HrHaakon 2 года назад
Unix started as 2 people. Not one. That being said, sure, you need a vision. But some rules like "everything should be formatted basically the same" isn't communism. It's "Everyone, including the non-rockstars have to contribute, and we need to set ourselves up for that future." The trick is to have enough rules to facilitate that, but not more rules than that. And it's much easier for people, especially management to add a rule than to remove one. See every Jira board on the planet for examples of this. "Fully automated luxury space communism" is a term, but it's not really applicable to this context.
@Reichstaubenminister
@Reichstaubenminister Год назад
"Cultural Marxism" is the term he is looking for at the end.
@AschKris
@AschKris 2 года назад
A high performing programmer can easily adapt to standards.
@___Hermitage
@___Hermitage 2 года назад
But not at no cost. He has to waste time which could have been spent doing something useful.
@Leonhart_93
@Leonhart_93 5 месяцев назад
Yes, but I don't want to adopt everything. I have my own idea of aesthetics. If they wanted a different format they could format it after I am done, I won't write in their arbitrary formats.
@toffeethedev
@toffeethedev 2 года назад
Jon's experience is limited to his rare, idealistic tiny dev team environment. After years of watching this guy & working in industry, idk if he's worth taking too seriously anymore, this guy makes me so jaded when simple, clumsy optimists are spitting out tools that (albeit not hyper efficient) people actually use and are valuable. I'm so tired, I don't care about indentation man
@botbeamer
@botbeamer 2 года назад
By years do you mean ... 2 years?
@SimGunther
@SimGunther 2 года назад
Like the Lobster B Peterson of software. Sure, SOME of his technical advice (if he offered any that wasn't an obnoxious, backhanded piece of feedback or MUH NEOLIB ECON/Musk fanboyism) maybe good for those already in the weeds. I'm sure perspective was a worthy lesson from his last two successes, but The Witness made that lesson so pretentious and tedious to get through.
@NabekenProG87
@NabekenProG87 2 года назад
Reminds me of a recent comment of a JS Guru about not using tests, almost ever. Or criticises beginner tips because for him (an expert) they are to rigid. These people are amazingly smart, but are realy bad at seeing others perspective. I don't think thats bad, but people aspiring to be them and believing their every word is.
@llothar68
@llothar68 2 года назад
@@botbeamer You can find videos of this guy from 2014. So 8 years the same opinion. 8 years the same solo cowboy programmer. I'm one of them too, but i know that big software and teams have to work totally different then what he tells. The 10x programmer myths break down when the 10x programmer guy has to share his code with other members.
@xbmarx
@xbmarx 2 года назад
I kind of agree with many of Jon's points but I fail to see why a code auto-formatter triggers this rant so hard. There are many things to be creative about in software development. How you format your code is the most trivial, trite, superficial thing to obsess over. Contain the autism.
@sirhenrystalwart8303
@sirhenrystalwart8303 3 месяца назад
Formatters are just petty tyrants for the inflexible mind. Nobody insists all their co-workers speak in exact same non-regional american accent (indeed that would racist!). But for some reason that love for diversity flies out the window when they spot a missing space.
@restindev
@restindev 2 года назад
I love this rant. Would definitely sign a lease with it.
@Pix256
@Pix256 7 месяцев назад
I feel like blow was mostly referring to groups not teams when commenting on decision making. Because good teams in any discipline have a hierarchy, they are not democracies. Thats group thinking which is different.
@AJ213Probably
@AJ213Probably 2 года назад
When working with others, as long as general spacing and line endings is consistent then its fine. Maybe curly brackets if you are feeling adventuerous. But seeing a git diff for just LF vs CRLF gives me pain. Which is why I slapped in a .editorconfig and ran dos2unix on the codebase.
@seanarooni
@seanarooni Год назад
i've always heard french food has the heavy sauces because the dining room at the Palace of Versailles was too far from the kitchen and it kept the food warm. could easily just be something people say though.
@zhulikkulik
@zhulikkulik 7 месяцев назад
I'm not getting it. What's wrong with the spacing here? Would be nice if he actually just pointed out what's bothering him exactly.
@Czeckie
@Czeckie 2 года назад
no idea what this has to do with communism, americans are so weird when using that word
@trungthanhbp
@trungthanhbp 2 года назад
🤣🤣
@dave7244
@dave7244 2 года назад
Because communism requires conformity and everyone to be "equal". A lot of time in orgs you are held up having to jump through bullshit checkbox ticking exercises e.g. I have a git template we have to use for all checkins. I just copy and paste in one that is filled out already with the right stuff so I don't have to do the pointless checklist that makes zero sense for our project. Same with Go IMO. The language is gimped in certain places because of their "philosophy" which means something which are simple in C# or C++ are a absolute PITA in Go. I understand what he is talking about.
@MaxZorin8
@MaxZorin8 Месяц назад
@@dave7244 "Because communism requires conformity and everyone to be "equal". It was never about making everyone equal, but only about universal access to education and healthcare and the elimination of the privileged class.
@dave7244
@dave7244 Месяц назад
@@MaxZorin8 From encyclopedia Britannica: > There is no government or private property or currency, and the wealth is divided among citizens equally or according to individual need. I've heard all this nonsense before. You ended up with a privileged class anyway (those in power) and everyone else had everything taken away (just ask the Kulaks).
@SnakeEngine
@SnakeEngine Год назад
He is wrong about successful solo projects being done from scratch. There are many amazing hit games that utilized advanced piece of tech such as the Unity engine, and they are bigger in scope than anything Blow did.
@marcossidoruk8033
@marcossidoruk8033 Год назад
Such as? I've never seen a unity project bigger or more technically demanding or better performant than the witness, the overhead of using unity just becomes so big as the asset and feature count goes up that it would be completely impossible to make something of the scale of the witness and have it perform decently on normal computers of its day like the witness did, you know this to be true if you have experience in games especially if you have experience doing stuff in unity. Anyway, I think you are talking shit for the sake of it, I also do not agree with what jon is saying here but that doesn't make what you said any less ridiculous.
@SnakeEngine
@SnakeEngine Год назад
@@marcossidoruk8033 Ori, Hollow Knight, Sons of the Forest, Valheim...
@fabtjar
@fabtjar 2 года назад
What's the issue with the formatting? The only thing I'd do diff is braces on the same line as if. Others have mentioned issues with indentation but I'm not sure how else you'd want it? 2 spaces instead of 4?
@yjlom
@yjlom Год назад
idk, I like being able to just write the ugliest code that I can't read 5 minutes later, and then magically fix it in one command better than having to stop and clean up while in the middle of a burst of inspiration
@dementedchicken1
@dementedchicken1 2 года назад
Style is whatever, any "10x" programmer would be able to adapt to a standardized style without throwing a hissy fit. Jon is absolutely right about skilled, highly-motivated individuals being slowed down by big-team cruft. Everything from design to project planning to coding is slowed down by having a team, and the bigger it gets the slower it gets. This is just the fact of communication overhead. Even when it comes to non-engineering stuff like community relations and billing and whatever, if all that can be done by a single person it's so much more efficient than adding seams between departments. Not to mention, some people are just better at stuff than others, and the more stuff done by them the better. However, sometimes you need a massive-fuck-ton of work, and nobody on the world can do a MFT of work faster than a team can. Pretty much anything valuable needs an MFT of work in order to deliver stuff quickly, and voila we have teams and organizations. If Unix/Linux hadn't grown they'd be dead. If Google Search hadn't grown it'd be dead. Endless more examples available. Pretending otherwise is delusional. The best you can do is to try and keep people with good visions in positions of authority and limit the bureaucracy. Managing teams and developing as an organization is a real problem that cannot be circumvented - as Mike Acton would say, "Reality is not a hack you're forced to deal with to solve your abstract, theoretical problem. Reality is the actual problem". Also lul at the red scare baiting in the video. "teamwork is good when you have to have a team" -> ??? -> "communism". And then he complains about "rhetoric" when he's throwing around cranky old man buzzwords without thinking about them.
@SimGunther
@SimGunther 2 года назад
Down with auto-formatters, but I don't mind formatting guidelines so long as we get stuff done well and there's empirical data showing improved readability (time saved understanding/compiling). If it was "red-scare baiting", I'd expect a LOT more sarcasm. This is just what he thinks given his obsession with UBI (right idea, wrong time) and Elon "egghead" Musk. Such parochial, obnoxious thinking (just like The Witness as the lesson was better told in Braid). Right now, there's a lot of waste in public spending, but a whole lot of innovation as well (see my last comment onMedical innovations) Subsidies are like if companies playing on easy mode, they didn't mind parroting the public sector's opinions, and the tax payers didn't have a say on the matter or else they'd be behind bars. If people like JBlo were so concerned with "wasteful spending", surely they'd be interested in empirical studies proving certain systems make for better living (Hakim's video = gold) to the point where he'd be motivated to write a whole system that surveys which sector is fit for "public exclusivity" and which sectors need immediate reform along with suggesting policies that fix the sector. Tech has eliminated tyranny bloat for thousands of years as no single person is as powerful as they claim, but we still have the problem of "best parts of anacap system for corpos/special interest groups, worst part of communism for everyone else" because every system will be mucked about in some way. I guess we'd rather have it be mucked with by special interest groups instead of having it ruined by a leader claiming to remove class hierarchies only to solidify status hierarchies (sounds like a certain Lobster Peterson or Russian leader in the 1920s), right? In other words, we ought to be equal in importance in life, but some people would rather see billions perish (equal in death) before being genuinely charitable and giving credit where it's due instead of saying "corps are the best always. Just get 'The Man' out of the way while we also leech from tax payers because we know what's best." At this point, he should stick with engineering or self-help guru-ing and not this....politician act that's bound to hurt everyone at the end of the day, including the people he claims to help.
@SuperSampling
@SuperSampling Год назад
@@SimGunther UBI as in universal-basic-income?
@ifstatementifstatement2704
@ifstatementifstatement2704 3 месяца назад
I’m french and I also don’t understand why our food has those white creamy sauces 😂
@AChannelINeed
@AChannelINeed 27 дней назад
It’s mostly the half north of the country. If you go south, there is mostly no cream used anymore.
@chinoto1
@chinoto1 7 месяцев назад
I made a style guide for a PHP project along with several regexes to find possible violations. Having something to automatically format the code in a consistent manner, regardless of how (to some extent...), is much more appealing. Prettier and rustfmt are what made me come to this conclusion.
@nexovec
@nexovec 2 года назад
I specifically disagree with this, but that's because I'm a communist millenial. Auto--formatting helps me focus on the important stuff. I also like how my formatter does things. I also write lua, don't ask why, and the case with interpreted languages is that nice uniform formatting can help spot typos, which shouldn't be a thing, but they are, because don't hate me, I can't just switch now. And I'm not communist, I just have preferences.
@nexovec
@nexovec 2 года назад
@Yury Solovyov Yeah, it may, but that's totally not the case in this example, is it? This is just someone who uses different spacing across all his code...
@La0bouchere
@La0bouchere 2 года назад
I think the communism thing was regarding the 'programmers must serve the team to be good' rhetoric not the formatting discussion.
@smallbluemachine
@smallbluemachine Год назад
I found myself using this Allman format and I find the scoping quite readable. I mean, maybe you want to tone it down to two spaces rather than 4 or whatever a standard "tab" looks like? -And don't get me wrong, I absolutely loathe Python.
@mennovanlavieren3885
@mennovanlavieren3885 Год назад
If you use Gaudi to ditch on engineering you don't understand Gaudi. He used upside down wire models with weights to simulate the forces in static constructions before the time of computers. He studied many principles of how things work in nature to find inspiration for his architectures. He was a multi talented man that knew more about engineering that the average engineer of his time.
@drno87
@drno87 Год назад
Source code is a document written in a language. Many of us have encountered posts on message boards that are just one giant wall of text with no paragraph breaks and optional punctuation. It's faster to write it that way, but it puts an extra burden on anyone else trying to read it. Probably fine if you're doing it for your own personal use, but if other people need to read it then it's reasonable to ask that it be formatted to a certain minimal standard. Same with code. On a large project, other people will need to work with and modify "your" code. Without standards, it becomes a goddamn archaeological expedition to deal with anything you didn't personally write. That's a real overhead cost that needs to be traded off against possible lost productivity from adhering to standards. Is the value gained by high performers worth the cost of maintaining their legacy code?
@fallingintime
@fallingintime 2 года назад
Linters are better than formatters
@hamzakhiar3636
@hamzakhiar3636 2 года назад
So frameworks are as well
@MrD0r1an
@MrD0r1an 2 года назад
Hm, I actually like code formatters. Though not every code formatter is reasonable by default. For example, sometimes you want to exceed the line limit. But a correctly configured code formatter helps me think more about code and less about code format. Also makes sure that outside contributions are formatted in the same way.
@IgorGuerrero
@IgorGuerrero Год назад
Way to be a contrarian... the formatters and linters are made to make 10x programmers way more efficient at reading code. Reading is the biggest part of the job, but of course he writes solo so he couldn't know.
@echoptic775
@echoptic775 2 года назад
I dont agree with this. I think a language should have a specific code style that should be followed. If you see the same style in multiple codebases, it will make it clearer for you. What about multiple people working on the same codebase?
@KANJICODER
@KANJICODER 2 года назад
If I used an auto-formatter on my code base I would lose an incredible amount of information. Aligned code allows you to visually parse code using "system 1" circuits of your brain and "visually lint" the code for error.
@marcossidoruk8033
@marcossidoruk8033 Год назад
There are flexible code formatters that let you configure them how to format and even disable them by file or by section of code using magical comments.
@asdqwe4427
@asdqwe4427 2 года назад
I don’t think that formatting is what would limit your creativity
@mavhunter8753
@mavhunter8753 2 года назад
Jon Blow speaks a lot of common sense, but it doesn’t matter people today don’t care about that.
@SuperSampling
@SuperSampling Год назад
No, he is a populist who puts out shallow rants for people who need some authority figure. There is a reason to have code formatters, especially for teams. If you are a sad loner like Blow, do whatever. Nobody is going to read through that "decorated house" anyway.
@evandrofilipe1526
@evandrofilipe1526 Год назад
@@SuperSampling that's a bit mean and not needed tbf. No need to personally attack blow.
@SuperSampling
@SuperSampling Год назад
@@evandrofilipe1526 And why not? Being as resentful as Blow isn't a role model. It leads to resentful and uncompromisingly elitist views. Something that is extremely abrasive and makes you lonely in the first place.
@danielxmoore502
@danielxmoore502 Год назад
rip American culture in the year 2030
@wolfgangbischoff1826
@wolfgangbischoff1826 Год назад
Well, someone has auto-formatted the bell curve. Since the bell curve is my House and I want to Put a Yoga Matt in the center of the danish Sofa, I reformatted the curve to fit the cowbay lead programmers. And from the Money I Made, I bought a Spaghetti Bugatti.
@Ryan-xq3kl
@Ryan-xq3kl 2 года назад
THANK YOU!!! the formatting of go is by far the worst part of it i think
@DemonixTB
@DemonixTB 2 года назад
apart from the laughable "everyone I don't like is a communist, a child's guide to online political discussion" shtick I agree on the code formatting point.
@kubre
@kubre 5 месяцев назад
guys I dont mind gofmt am I communist?
@learningprogrammer1487
@learningprogrammer1487 Год назад
In a large team, standardization is a good thing. However, that shouldn't be followed religiously. Here is where John missed the point, when he talked about the room example. Suppose ten people use the same room at the same time, and every person changes the order of thigs. Well, we all know where that leads. As far as FORCING the rules is concerned, John is correct. The best way would be for example, we should use spacings instead of tabs, we don't use snake_case for the class and method names, etc. But of course there will always be some fanatics (like communists) that believe in a PURE whatever, and FORCE their utopian BS to all and making the everyone depressed and exausted. For example I use PHP, and there is the PSR standardization body that acts like a police. What a wasted time and energy of human life. 😞
@pierreollivier1
@pierreollivier1 Год назад
I would disagree, having a very well defined structures, means you can focus on the creative part, I've tried may style of code, and I've definitely got mine, I follow very strict guideline, because being so strict in the general stuff, allows me to focus my attention on the difficult/tricky part. Because I don't waste time wondering if i'd be better refactor in another style. It's also better to work with other but even with you if you don't let your style drift in the long run you'll be able to come back and still understand your code
@NabekenProG87
@NabekenProG87 2 года назад
Imagine talking about tools for people that don't want to manually format their code (admittedly the Go formatter seems to be crap) and ending up at fantasy communism. Don't drift too far
@wheezybackports6444
@wheezybackports6444 2 года назад
The schizophrenics are always the most correct. Don't forget that.
@dave7244
@dave7244 2 года назад
He was talking about the thinking behind certain languages. Go IMO is a gimped language because of the mindset behind it.
@DMitsukirules
@DMitsukirules Год назад
Meanwhile in Rust land, where you cannot name variables how you want to, the "fantasy communist" are currently killing the community.
@KlausWulfenbach
@KlausWulfenbach 2 года назад
it took me a minute to realize why the indentation was bothering him, because I'm used to GDScript, which uses Python syntax. But when I noticed it, then it was driving me crazy as well. Because in GDScript and Python, indentation is used instead of curly brackets and semicolons but that code has all three. Having all three makes no sense at all. I completely agree with Jon here.
@Smorki
@Smorki 2 года назад
Most code in C-like languages has all three - you can't get around using semicolons and braces, they're mandatory for most stuff; and not indenting would be completely crazy and unreadable. I don't think that's what's bothering him.
@Mike.Garcia
@Mike.Garcia 2 года назад
I like that style, but it's applied too rigidly, it looks like its program generated. A single word for (fantasy) communism, (organized) religion.
@IronFire116
@IronFire116 2 года назад
Not even close to accurate.
@chao3948
@chao3948 2 года назад
i would not be alone in a room with this man
@ChrisAthanas
@ChrisAthanas 2 года назад
Don’t worry you never will be
@chao3948
@chao3948 2 года назад
@@ChrisAthanas thank 👏 god 👏
@nanthilrodriguez
@nanthilrodriguez 2 года назад
His conclusion is correct, but his path to his conclusion is wrong. "I wanna decorate my house :C" sounds a bit like a child's tantrum. The real reason formatting is an abomination is this: Programming languages are Context free already. By writing code, we introduce context. By crushing formatting, we eliminate any attempt by the author to make that contexts easier to understand. In other words, formatters erase intent, which cannot be communicated through the code itself, but can be communicated in the form of the code, stylistically and tastefully. Formatting is the difference between "I got it done fast" and "I can understand it fast after the fact". Code must not only communicate with the computer, and communicate to other humans, but it must communicate to yourself what you meant and why you meant. It must communicate not only what, but why. Code must communicate INTENT, and how can you do so when most code are merely statements of fact, and patterns of logic? Formatting is a powerful tool for communicating intent. This code goes with that code, but that code over there is NOT related to this code, I COULD have put this code inline, but by naming the concept as a variable I now can communicate the INTENT of this code, not just what it does, but WHY it does, IN THE LANGUAGE of the domain in question. Universal formatting tools like Python's Black and Go's Format are abominations, not because it strips "freedom of expression", but their mere existence communicates to programmers that there is no intent. There is not authorial intent, nor responsibility on the author to communicate intent. There is only a boolean flag "does the code complete the task correctly?" If yes, then the code will be crushed to look like all other code, because code is just code and it should just look like code... Wrong, THIS code is THIS code. it is different from ALL OTHER CODE in that it does THIS THING for THIS SPECIFIC REASON. At my work, someone said something to the effect "I don't want to need to think" and "It alleviates the mental load of the developers" WRONG. IT IS THE RESPONSIBILITY OF THE AUTHOR to ASSUME THE RESPONSIBILITY OF THE COGNITIVE LOAD because you as the author, and only you, understand what this code does, how it does it, and why it does it, and it is YOUR RESPONSIBILITY TO COMMUNICATE WHY IT EXISTS TO EVERY FUTURE READER, INCLUDING YOURSELF. So fuck your auto formatters. Fuck your defense of unethical, lazy, abandonment of responsibility. Fuck your INSISTENCE on more difficult to read and understand code because you want it to look the same rather than look like code that communicates its purpose clearly and succinctly without clutter and misdirection.
@delian66
@delian66 2 года назад
> There is not authorial intent, nor responsibility on the author to communicate intent. You can communicate intent much more clearly with something called "comments", and nearly every program language in actual use supports them in one way or another. Using whitespace for communicating intent is idiotic.
@nanthilrodriguez
@nanthilrodriguez 2 года назад
​@@delian66 It's a clear visual and physical distinction between the 2 concepts. The only reason why something like this wouldn't be effective is because morons like you who refuse to see the benefit clutter the code and make everything look the fucking same.
@0x5DA
@0x5DA Год назад
what is your point here? why is the intent of your code communicated solely in whitespace & line breaks?? one might think languages provide comments and documentation facilities for this purpose. but maybe reply in MORE CAPS this time so i can UNDERSTAND you.
@jimafisk
@jimafisk Год назад
Uniqueness should not be expressed in your code, it should be expressed in the novelty of your app. Individualistic flare slows down everyone, not just the mediocre devs. Not having to think about arbitrary spacing frees up time and energy to focus on important things and makes reading everyone's code much quicker. I definitely agree that there engineers with far better productivity that carry the team on their back, but syntactic expression is use far more by gatekeeper devs who care more about their developer status than the end user perspective in my experience. I agree that communist dev and design by committee is trash, but I'm very pro gofmt.
@rasputozen
@rasputozen 2 года назад
Never thought about this but I agree. Let programmers have a !@$#ing fingerprint jesus christ.
@trungthanhbp
@trungthanhbp 2 года назад
this man is weird, because he coding too much i think
@ChrisAthanas
@ChrisAthanas 2 года назад
Yes fantasy commune bs is cancer Not everyone wins first place in life
@SimGunther
@SimGunther 2 года назад
5:27 The term he's looking for is "empirical data that'll deeply embarrass Musk as a civil leader but will make his dolla dolla bills look good in his fancy self driving car" And yes, nearly allMedical innovation was done in the public sector, so need we say more on that front?
@Jkauppa
@Jkauppa 2 года назад
freedom does not make limits, its given everything, for free
@Jkauppa
@Jkauppa 2 года назад
make sure you dont say "your programmers", corporations are trash, voluntary non-binding coop is nice, rules are bunk bust
@Jkauppa
@Jkauppa 2 года назад
boom :)
@Jkauppa
@Jkauppa 2 года назад
forced = communism
@nexovec
@nexovec 2 года назад
@@Jkauppa Then you can't get anything done, unless you're the 10x programmer, because everybody can just quit on you mid way in a truly non-binding coop.
@Jkauppa
@Jkauppa 2 года назад
@@nexovec God gives
Далее
How to get funding for your game?
8:46
Просмотров 18 тыс.
Where did software go wrong?
7:49
Просмотров 40 тыс.
Jonathan Blow on work-life balance and working hard
19:18
The most important talk on programming by Jonathan Blow
22:55
Software is in Decline - Jonathan Blow
10:08
Просмотров 169 тыс.
Being Competent With Coding Is More Fun
11:13
Просмотров 87 тыс.
Jonathan Blow on the Herd Mentality in the Industry
5:44
The Value of Source Code
17:46
Просмотров 49 тыс.
Jonathan Blow hates video game bridges
4:16
Просмотров 35 тыс.
Jonathan Blow was right about the crash of "tech" jobs?
14:11
Programmers don't know how fast their computers are
6:14
Interview with Jonathan Blow at LambdaConf 2024
26:34