4 ms·
> I took another shot at coding this year to see if I could build anything interesting in C++, but the difference between something like QBASIC and a full blown
by wtbob 12y ago
> I took another shot at coding this year to see if I could build anything interesting in C++, but the difference between something like QBASIC and a full blown C++ IDE just ended up baffling me more than anything else, and I struggled for a bit.
That's a really damning statement about our modern software ecosystem. You see what this guy was able to put together as a kid, and it's impressive. Sure, it was close to 20 years out of date, but it was good-looking and (appears) usable.
Why isn't it as easy for him, with the knowledge he's accumulated, to build software with modern languages, modern tools and and modern libraries as it was for him to build software with BASIC?
- pjbrunet 12y agoI think that's a great question and I could list some contributing factors but I think a thorough answer could upset a lot of people. I lost 100+ karma just for some criticism of Apple ;-) Yeah, let's critique all the modern languages, tools and libraries--that will go over real well here.
- icebraining 12y agoWho says it isn't? Maybe C++ just wasn't a good choice for someone coming from BASIC.
- Lrigikithumer 12y agoI would definitely put that down to experience, C++ is a much different beast to QBasic. Qbasic being geared towards beginners, C++ being geared towards professionals. I mean it's the difference between a tool box 70 years ago (Software lives by dog years) and a tool box today, the tools you will find are vastly different, and even though you can build a house with the tools from 70 years ago, that does not necessarily mean you will be able to travel forward in time and build a house with todays tools because you have zero experience with it.
- Rygu 12y agoThe truth. Take web development. If you're willing to look objectively at the state of HTML5 and the lack of feature support for browsers (that stick around), then yes we've established many good specs and communities, however for the enduser comparing it to Flash back in the days, nothing different. At least Flash development was easy. goes back to building JS and CSS files with his frontend build system, and testing in IE8
- orbifold 12y agoIt was incredibly frustrating for me as a young child, during the DOS days you had a fairly complete, if somewhat primitive, simple development environment with complete documentation available. I could easily do silly things like composing "melodies" or draw arbitrary shapes on the screen. Of course in retrospect any other programming language other than QBasic would have been more educational, if it had similar good documentation and integrated support for running programs. But it was still better than with windows, where there really wasn't anything comparable available that I knew of and visual studio (which I got as a christmas present, when I was 10 years old :)) seemed rather incomprehensible in comparison.
- semiel 12y agoI don't think C++ is anywhere near the state of the art in terms of usability. I wonder what he would do with something like Python + PyGame.
- pekk 12y agoEven if that would offer some usability improvements, we've still lost something in how quickly you can draw a circle and play a sound. Don't forget your header files, can you use hardware acceleration?
- bglazer 12y agoI evangelize a lot for Processing [1] but it is the best experience I've had for getting to draw a circle as quickly as possible. It's a limited subset of Java included in a very basic IDE, that was developed at the MIT Media Lab. Its original purpose was bringing computation and graphics to artists and designers. void setup() { ellipse(10,10,20,20); } [1] processing.org
- orangecomputer 12y agoI'm hearing people recommend I try Python quite a bit. I may very well give it a try. I'm not sure why other than a school friend recommending it, but whenever I think "programming", I always think of C files and CPP files, so my first option was to try the C programming language and then C++. I heard that the Battlefield 2 engine was written on Python, or perhaps I could be mistaking it for another engine, but it seemed pretty cool knowing of something that was finally written on something else.
- orangecomputer 12y agoI guess it was for two reasons. Looong post ahead but it describes in a fair amount of detail why I eventually was turned off of C programming, and it was not necessarily the language itself. 1) I opted to try and self-teach using tutorials which were highly inconsistent with one-anothers practices instead of learning at an accredited college or doing some type of course. It's also possible the tutorials I used were not that brilliant. I did find some fantastic ones later on around the time I stopped (as I started working full time). 2) I believe my folly also lies in jumping the gun, a lot. With BASIC I was able to just skip around in the commands list and experiment with each command in an afternoon, figure out how it worked and see if it was what I needed. If so, I had learnt what I needed, if not, I had learnt something for use in another day, and another code. It mightn't be the most optimal way to learn, but for me it allowed me to create -exactly- what I had intended, even if the mechanics inside were smoking and banging around, they still did what they needed to. C was just not quite the same, and I wouldn't expect it to be. It's a much more powerful language from what I've observed. One of the issues I frequently stumbled into, would be a tutorial that would state to use an external library/header that was never explained nor included on the tutorial page. One might state that I needed to include SDL.H but at no point in the tutorial, did it describe what the contents of it were, or of its purpose / where to get it. Now sure enough, you can google it and find that it refers to the Simple DirectMedia Library but am I wrong to think it's not professional to write in references and sources in a tutorial intended for beginners? "Figure it out / google it" doesn't always strike me as the best way to teach someone, but instead writing down a clear explanation of what is required and where it can be obtained etc. I also had stumbled upon tutorials where the author had written their own custom headers for use with the code, but the headers themselves were not included for download or reference in that tutorial, nor the contents of them explained, so I'd often have no idea of what to substitute in place of that header or how to recreate that header accordingly. I also became frequently discouraged by the responses I got when asking for help. It seemed that if I (as well as a LOT of other people, I saw this happen to a tonne of others) was stuck or unsure and made threads anywhere asking for a bit of advice or critique as to where I've gone wrong, I was constantly met with replies of either "If you don't even know the answer then you shouldn't be programming." or "The answer is obvious, programming is not for you." etc. I made a post at one point asking for a bit of advice on building a simple calculator once as one of my first few applications, and was met with responses of "This is a HUGE waste of time, there's already calculator sources out there available for download." which sort of missed the point; I was trying to make one, rather than plagurize someone elses. Getting questioned as to why you're learning to code when you can just steal someone elses seems the wrong way to go. Perhaps I was in the wrong communities for me, although interestingly enough there was a tech journal article that I had read not too long ago where a senior programmer slammed the sadly all-too-frequent types of these responses due to the fact that it discourages a lot of potentially good novice programmers, with people arguing for and against negative reinforcement. Personally, being told "your code is shit, you're definitely not made to be a coder" isn't really inspiration to me. Being told "You've made an error here, this is what's wrong, this is why it's not working and this is how you fix it. Have another go at it." seems more appropriate. Sure a few people react to being told they're not good enough by thinking "Well fine, I'm going to beat you at that statement and do the BEST DAMN APPLICATION EVER", but to me, I don't like to think of programming as a boot camp, but as learning just as you would if it were photoshop or 3dsmax, and I sure as hell didn't hear people in any 3dsmax class I've attended saying "You're really bad at modeling, you should quit before you waste too much time on this.".