10 ms·
The Little Printf
- cmaggard 11y agoSome of these characters are hitting a little too close to home. What a great read.
- octatoan 11y agoThis is beautiful.
- Adaptive 11y agoThe little printf interjected: No, that's not what I mean, and he then added I mean it's funny that tools are meant to solve problems for us, but for you, the tools themselves have become a problem. HN homework should be to re-read that section a couple of times.
- jonjacky 11y ago"The chief cause of problems is solutions." - Eric Sevareid
- troutwine 11y agoI had the great pleasure of seeing this read in person. It was brilliant.
- draw_down 11y agoHmm! I don't get it.
- clort 11y agoThe Little Prince, by Antione de Saint Exupery is a classic tale and this is a rework of it.
- paxcoder 11y agoIt's an apathetic exposé/critique of various roles in, approaches to and/or views of software development. "In the end though, it is only when you solve problems with a human face that you can feel truly right; What is essential is invisible to the computer."
- draw_down 11y agoI see. Personally I prefer to just be a developer, not worry about how other people are doing it wrong... though like anyone I have plenty of opinions on such matters.
- acqq 11y agoRegarding the printf (pre)history see my old comment: https://news.ycombinator.com/item?id=3964475 https://news.ycombinator.com/item?id=3964475 printf is based on the idea implemented as early as 1956, next year it will be 60 years since! 1956: Fortran I: PRINT 1, X 1 FORMAT (F10.2) Fortran was invented by John Backus and there was already a finished compiler in 1956. I/O in the first Fortran, I believe including the FN.M syntax, was implemented by Roy Nutt, also one obvious genius: http://www.cap-lore.com/stories/Assembler.html http://www.cap-lore.com/stories/Assembler.html "There were a few pages of description of a new assembler format for the IBM 704 that differed considerably from the NYAP that we were using." (That) "704 assembler, originally called SAP, was written in its own language by Roy Nutt."
- muaddirac 11y agoThat's very interesting, but other than in name not related to the article. If you didn't read it I would recommend you do - it's possibly one of the most interesting and reflective things I've ever read about programming as a profession.
- acqq 11y agoConsider it an addition to the type of the programmer: the one who stays by the original meanings of the names. Who still links to the Fortran libraries, writes mostly C and fondly remembers APL.
- vardump 11y agoShame that we're just nearing precompiled xprintf statements. It's so wasteful and slow to keep scanning same string for printing instructions at runtime. And very bug prone.
- mrottenkolber 11y agoCommon Lisp had precompiled printing/formatting for ever: FORMAT. E.g. FORMAT is a macro.
- agentgt 11y agoI would say the observations that little printf brings up have happened to me in various points of my life. And those nasty habits (ie trying lots of new crap.. complaining about existing crap) typically surface when I don't have a real problem to solve. And that is the problem... my business is doing well but I just don't have any serious problems that are interesting to solve other than sales/marketing. I'm just not creative enough to find/create a problem worthy to solve that are not completely a mismatch to my current predicament (like I could leave my discipline and maybe do something else but I have obligations). I really wish I had more creativity.
- ThomPete 11y agoYou don't need creativity you just need to find a problem to solve. https://news.ycombinator.com/item?id=9799007 https://news.ycombinator.com/item?id=9799007
- Profan 11y agoThe Dunning Kruger one was so on point, this is amazing.
- robotjosh 11y agoThe link times out but based on the title, I like what they are saying.
- mononcqc 11y agoThere's a PDF version on S3, if that helps: https://s3.amazonaws.com/ferd-ca/printf.pdf https://s3.amazonaws.com/ferd-ca/printf.pdf
- zigo3 11y agoparallels with 'The Little Prince': draw me a system ~ draw me a sheep proud senior engineer ~ the king rails -> nodejs -> meteor guy ~ the accountant counting stars anyone have more?
- Samis2001 11y agoAdditionally, the little printf their self looks eerily similar to The Little Prince.
- anoother 11y ago"..based out of the Little Prince, because as in true software fashion, nothing is truly original.." https://youtu.be/EWdqtMdcNkE?t=23s https://youtu.be/EWdqtMdcNkE?t=23s
- spoiler 11y agoIf you don't pronounce "printf" as "print-F" but closer to /'print(h)f/ it kinda sounds like someone saying "prince" with a lisp (or with a local anaesthetic impairing the range of movement of their tongue). I think Northern European languages like Dutch, Swedish or maybe even Polish might have a word which could better describe the sound? I can't think of any Croatian words that get close to it.
- esfandia 11y ago"The essential is invisible to the computer" ~ "The essential is invisible to the eyes"
- simlevesque 11y agoLoved the story :) it was nice to learn that ferd has studied in the same program as I did! I could relate a lot.
- tyh 11y agoDid anybody read this and just feel sort of sad?
- jerguismi 11y agoIsn't it the same with little prince? I remember how sad I was when I read that as a kid. Now I'm adult programmer and felt sad as well when I read this.
- deleted 11y ago[deleted]
- marcoperaza 11y agoWhat a wonderful story. Thank you for lightening up my day.
- jongraehl 11y agoNice characterizations but the conclusion was only empty "human face" platitudes for me. I'll take the reminder that we should believe in the end result we're accomplishing and not only obsess about making the tools we're working with or system we're working on better as an end in itself.
- brianpan 11y agoSometimes a story is not the conclusion, but the journey taken to reach the conclusion. :)
- MichaelGG 11y agoAnd it also doesn't seem to recognize that for some (many?) that tech can be an end by itself. If your goal is business or to ship an app, this might not be true. But there should be no shame, no regret, in only being interested in tech for its intrinsic merits, independent of "results".
- 0x4a42 11y agoI own you a beer. :)
- TeMPOraL 11y agoHell, this is the reason a lot of programmers begin programming. Personally, this is the reason I started programming and sadly 90% of jobs that are in the industry feel like utter bullshit to me - I simply can't be passionate about that new sports webapp (I hate sports) or inventory management something something. Especially webdev, of which I did most commercially, feels utterly awful to me. Of course those projects are important to someone, they may be passions of many people - just not of me personally. This creates a lot of tension and unease for me as an employee, especially now that us geek programmers are outnumbered by 'professionals', who came here to do jobs for money.
- bulte-rs 11y agoWhy I'm leaving software engineering... :(
- RKoutnik 11y agoFantastic little parable. Saw a part of myself in quite a few of those. One I'd like to add is the developer who's so enmeshed in maintaining FOSS software that all they can do is label & triage tickets but never quite find time to start fixing them. I've found myself caught in that lately and am trying to figure out how to chip away at the ever-growing Issue Monster I've let form.
- dmethvin 11y agoThis is where a junior developer can really help, even if it's junior in the sense that they are not as familiar with the project as you are. There is no better way to become familiar with the true problems and priorities of a project than to triage bug reports from the people actually using the software. You may be too deep into it to see that. Don't prioritize based on what is the "fun technical challenge" but instead figure out how you can get users to be happier with what you are building. Also remember that sometimes the answer is code, and quite often it is documentation or a code sample showing the "right" way to do it.
- i336_ 11y agoWhat project(s) are you referring to? I presume the tracker is publicly visible...?
- jimbokun 11y agoStrangely, what you are doing may be closer to helping humans than the caricatures from the story. The tickets presumably represent real problems experienced by real humans, and maybe the labeling and triaging brings them closer to actually being addressed.
- jbaba 11y agoJust one word "Mind Blowing". Complicated feelings of programmers and why we do what we do is explained in simple words.
- andars 11y agoWow. I'm a college student, but I still feel like a kid. This seems to pretty much sum up every reason I decided not to study computer science and make a career as a developer. I love computing, but I have just gotten tired of the billions of js frameworks and wars about how everything anyone tries to do is wrong. Little printf strikes too close to home. This is a fantastic piece of writing.
- nostrademons 11y agoYou can ignore all that and still make a career as a developer. I started out as a physics major, largely because I didn't want to lock myself into a practical career at the beginning of college. Spent most of my college career avoiding my physics homework by learning lambda calculus, and Haskell, and compiler design, and all of the impractical side of computing. When it came to get a job, I dusted off my Java and got a job in a financial software startup. Left it after two years after discovering that I hated finance but actually liked both software and startups. I've made more tech switches than I can count since, but it's always "Well, what do I need to know to get a job that will pay me and give me interesting challenges?" rather than "What do I need to know?" You can choose to avoid all the language/framework/editor wars about which is better. None of them are better; it's just some are better for certain circumstances.
- andars 11y agoThe first part of your experience sounds very similar :). Thanks for sharing it.
- 0942v8653 11y ago> the billions of js frameworks and wars about how everything anyone tries to do is wrong IMO... This isn't universal. HN is one of the places where it is the worst. I probably wouldn't be fighting with Go right now if it weren't for HN; I'd probably be using Java. Staying up to date isn't really as important as it appears. There are people having successful careers with COBOL right now, and while that may not be where you want to go, switching between JS frameworks does not sound any better. And you can basically ignore the JS frameworks. They don't matter. Because of HN I switched from TextMate to Sublime Text to Emacs to Vim. What did I get out of it? Not a thing. Maybe I can type a little faster when I am in vim. But mostly I just get annoyed when the rest of the OS doesn't support the shortcuts that I am now used to. I switched from Mac to Linux to Mac. I got nothing out of it, except that now I get more annoyed when I can't do something on my Mac that I was able to do on Linux. Don't do what I did. I think it's completely possible to be a developer without all this, as long as you can recognize when you are wasting your time.
- hyperion2010 11y agoPick your tool and go build things with it. Don't get stuck in the hardware store quibbling over what kind of hammer you need. If the things you build turn out to have been good ideas then when you need to go back to the hardware store to find a hammer that is a better fit you might actually know something about which one you need.
- zubspace 11y agoQuote of a friend of mine: we developers keep solving problems we would not have without developers. I really like this quote, because I believe that it's nearly impossible to stay motivated fixing stuff over and over again in similar ways, year after year. At some point you need to realize, that the systems we created can not give you complete fulfillment. There's always something better, faster, nicer. "The grass is greener over there" kind of thing. I found my peace by being part of a family with 2 kids, doing fun game projects after hour when everyone's asleep and getting into drawing and music. Programming can be fun, but it's not the end of it all.
- dbpokorny 11y ago> we developers keep solving problems we would not have without developers I genuinely don't understand. Do you not consider the organizational problems of society to be worth solving?
- 0942v8653 11y agoAs I interpreted it, the "problems we would not have without developers" isn't referring to the people, it's referring to the tools and processes of development. Especially the tools; don't let "the tools themselves [become] a problem".
- sohcahtoa 11y agoGotta say, people who consider that the "organizational problems of society" can be solved have been responsible for a lot of misery over the centuries.
- zubspace 11y agoThere was a time, when not every household had a computer. A time where kids were playing without stuff supported or made by computers. Not everything was better back then, but the world did not collapse due to unoptimized processes. In contrary, I believe that alot of things were more 'personal' in the past, but this is highly subjective. Technology made alot of stuff possible which would not be possible without technology. But the tradeof is, that we must live with systems which increase in complexity each year we use them. And there's no end in sight. We developers in some way are trying to get out of the hole we dug ourselves into. Think about this the next time a framework comes along which solves all problems of the previous one. At some point you'd wish back the former days, when everything was simpler...
- cicero 11y agoThis is a good story. After being a developer for 22 years, I got involved in education, and now I'm blessed to be in a great job at a great school. I still think software development is a good career with a lot of advantages over the alternatives, but I think this story is correct in that you should make sure to serve other people with your work rather than only your own interests and self-advancement.
- falcolas 11y agoThis just makes me a bit sad. The woman stuck in a job she hates fighting fires constantly... And the most the parable can offer is "sucks that you're unlucky"? The best we can hope for, if we want to develop software for a living, is to live within our delusions and hope we're never unlucky then?
- mononcqc 11y agoI would say it's a cautionary tale against making it so people get used to you accomplishing small miracles, or making sure everyone is aware you wouldn't tolerate only doing the tasks you hate forever.
- aldanor 11y agoOn a side note, love the font
- xacaxulu 11y agoThis reminds me of reading _why's stuff back in the day. Bravo.
- vampure 11y agoThe feels. 10/10 will read again.
- vemv 11y agoI think the software architect role is outdated by now? I've yet to meet even a CTO that doesn't get his hands dirty with code from time to time.
- lhnz 11y agoNot in government and large corporations.