5 ms·
of course the first comment is someone "strongly" begging the user not to make a GUI library because they are "easy to get wrong" and "too big to be a fun hobb
by keeganpoppen 6y ago
of course the first comment is someone "strongly" begging the user not to make a GUI library because they are "easy to get wrong" and "too big to be a fun hobby project"... i just don't get this mentality in programmers at all, but yet somehow it is rampant. i would maybe kind of understand this perverse form of insecurity / learned helplessness in the face of "complexity" for domains outside of one's training, experience, etc., but ... the whole point of programming is the sense that you can do whatever you want if you just write the code correctly. otherwise, what the hell are we doing here?
- amelius 6y agoPerhaps it would have been more correct and more effective to write "there is no money in rolling your own GUI library".
- deleted 6y ago[deleted]
- baq 6y agoGo ahead just don’t waste other people’s time (colleagues) and money (stakeholders) - there’s opportunity cost to everything.
- Retric 6y agoIt’s not about helplessness, it’s understanding the difference between writing a toy _ over a week and the professional version is generally around 3+ orders of magnitude. Many people really don’t understand that gap. I have worked with people actually trying to do several of such projects like implementing RSA encryption from scratch, a charting library, and several other similar projects they assumed where going to be a quick solution. It’s not that such projects are impossible, it’s that people starting them generally have no idea what’s actually involved. That said, if you’re doing it for fun then feel free.
- bigiain 6y agoPretty sure Linus never realised his toy operating system would turn into a 30 year project/career. (I suspect RMS probably suspected the timeframe for GNU, at least for the collection of system utilities rather than the kernel, was going to be a multi decade piece of work.)
- relaxing 6y agoLinus was already doing a master’s thesis (like the OP.) He knew Linux wasn’t a weekend project, and he knew the orders of magnitude invoked in creating a commercial OS. No one can predict the longevity of a project, but that’s not the point.
- seba_dos1 6y agoHobby projects can be pretty much the same scale as master's thesis, especially for young people.
- bigiain 6y agoI would bet good money that if you told Linus in late 1991 that he’d spend his entire career working on his “side project” and that it would be the major OS powering many billion and even trillion dollar new tech companies, and running on several billion battery powered and wireless networked pocket supercomputers in 2021 - and that he’d be some sort of software industry messiah - he’d have laughed at you (and probably viciously evicerated you on a public mailing list for your stupidity, like he is wont to do...)
- xwdv 6y agoA charting library is not that difficult.
- Retric 6y agoI honestly can’t tell if you’re joking or not. I mean on one end you can quickly get a toy version up and running, at the other end success looks like: More than 3200 issues open on GitHub. 4,112 commits 22 branches 228 releases 121 contributors So, this is the perfect example of what I am talking about. Getting something you can generously call a charting library isn’t that hard, getting something worth the time building on it’s own merits is. If you want to have a fun side project go for it. However, if the goal is to actually make charts it’s extremely unlikely that starting from scratch is a good idea.
- Shared404 6y agoAs a general rule, I don't trust "$thing is not that difficult" statements. Similar to statements of "Just do X", if it's not coming from someone who actually knows what it is that is being done, then I would assume it's more difficult than is being suggested.
- nitrogen 6y agoI've been writing graphing/charting code off and on for over two decades. My code has been used in high end audio software. Sometimes it's faster and easier to write the simple for loop that draws lines or splines on a canvas than to incorporate a "full-featured" charting library that has to support every kind of chart, plot, graph, network, 2D, 3D, etc. imaginable. A charting library that takes an array and makes lines is not that hard. And yet I still had a dev get pissed off by my offer to help with a charting problem. "Yeah, but was it D3?" I'm generally an advocate for buy-before-build in software, but I don't trust the kind of dev who won't even acknowledge that the easy part of a problem is easy (or that true experience isn't framework specific).
- bartvk 6y agoIndeed. A couple of months ago, a junior developer mentioned he'd need a library for a bar chart, and asked for directions how to use it in an Xcode project. It turned out to be easier to draw the chart with a few rectangles, and the developer had one of those great a-ha moments.
- bawolff 6y agoImplementing RSA is probably the only one i can get behind this advice for. Its easy to screw up, but its also non obvious that you screwed up. If someone actually needs the confidentiality you're trying to provide, the consequences can be far worse than the typical: program does not work. Other than that, failure is how we learn, and maybe you will succeed.
- TeeMassive 6y agoIt's not about discouraging people, it's just that a lot of people will tend to want to write "their own library". As another user pointed out, think of the security disaster caused by people implementing their own encryption library.
- deleted 6y ago[deleted]
- corobo 6y agoDo what you can't (if you recognise the reference you're right if not it's here https://www.youtube.com/watch?v=jG7dSXcfVqE https://www.youtube.com/watch?v=jG7dSXcfVqE)
- city41 6y agoEspecially for a hobby project. So what if you never finish or it never gets used for anything "real". Taking on crazy challenges can be really fun.
- xkeysc0re 6y agoIt's a way to disguise your own ineptitude and limits of knowledge as sage advice or learned wisdom. Notice how that comment didn't answer his question or provide any extra context, but it still made the poster appear to be an authority.
- wanderer2323 6y agoThe 'first comment' was in the context of the reddit!OP's reddit post that started as: > I am currently working on a standard Windows desktop application <...> > and have decided to write a GUI framework on my own If you want to write an application, rolling your own GUI framework is obviously a horrible idea. In this particular case the reddit!OP converted their GUI framework experiment into a master thesis, but that does not make the advice in the 'first comment' less valid. Did they write that application they wanted?
- nickkell 6y agoIt's a question and answer site, not a question and unasked-for advice site. If someone's taken the time to write a thought-out question, then people should assume they've put research into it!
- krageon 6y ago> not a question and unasked-for advice site In practice, I think this is not correct. You will almost always be told that your question is a bad idea and you need something different (even if you already know it is a bad fit and you've said so...). I've had to make peace with the fact that it's probably a cultural thing to feel like the questioner is in fact mentally handicapped in some profound way.
- pulp_user 6y ago(OP here) I did! And it was enjoyable and didn't take that long (about 2 or 3 weeks initially). I think in the end It actually was still faster to just write the GUI by myself than to use Qt, simply because I would have to get used to Qt and put up with all its bull. But even if it wasn't, I'd still prefer 3 weeks of challange over 1 week of misery.
- wanderer2323 6y agoCongratulations! I wish you long to remain in the life situation where you can freely trade time for challenge ;) Also I wouldn’t call QT ‘misery’. Drudgery maybe?
- redis_mlc 6y ago> i just don't get this mentality in programmers at all You don't seem to understand that "talk is cheap." I've written 2 large SaaS apps and 2 smaller ones. The former took 8 years each, which is about average for a startup to get traction. My life is structured around building those. But I don't expect other people to sacrifice in the same way. How many 100k LOC SaaS applications have you written yourself? > what the hell are we doing here? Most HN readers are vicariously living out their fantasies here. Being a startup CEO is depicted as cool, but doing the work is very, very different. (From what I've read about WeWork tenants, most are/were single guys there to play CEO and pick up chicks. Not a lot of products being built.)
- mbrodersen 6y agoDon’t listen to people with a “can’t do” attitude. There are a lot of them and guess what: they never accomplish anything and hate people who do.