18 ms·
Show HN: A simple GUI Notepad using C++ natively made in my high school in 2015
- oatbix 6y agoI dont know what age range high school encompasses where you are, but assuming its similar to the Uk thats a mighty achivement, especially considering your frank recognition of the bugz
- notRobot 6y agoOP appears to be from India. I've interacted with several HS graduates from India, and those who opt for CS in HS (11th and 12th grade; usually ages 16-17) are usually taught C++ in Turbo C++ 3.0. This release of Turbo C++ was released in 1990. That's... not great. For reference, the C++ programming language was first standardized in 1998. Thus, most graduates never learn proper C++ in the sense that a lot of what they're taught doesn't even compile on modern compilers and they aren't aware of many new* features. That said, this project is still pretty impressive for an HS student, even if it's written in ancient C++ and requires DOS to run :) *new = anything introduced to C++ in the last three decades (after 1991). However, apparently they've introduced Python3 last year, so hopefully the situation will improve :)
- mindfreeze 6y agoYes, It was taught in Turbo C++, Syllabus was very basic ones which has basic i/o, file stream, loops, etc. So at that time, wanted to explore something out of box, and for the 12th Grade Project, School did restrict to only Turbo C++ at that time, so the thing which was most possible solution was to hack around with that and having a mouse pointer and a GUI was a pinnacle moment at that time when the resources was limited. But now School's Board of Examination (CBSE) did change syllabus to Python did move to Python scraping C++.
- pvorb 6y agoI think the C++ version shouldn't matter that much. High School is for getting people hooked on programming. I learned Borland Delphi in High School and a bit of PHP and C. I later studied CS where these languages were mostly irrelevant, but nevertheless it was a good foundation for learning other languages. C++ is not the language I'd use to get many people attracted, but if that is the only language the teacher is able to teach, it's better than nothing.
- pvorb 6y agoAlso: Modern languages tend to have a lot of features that will put people off, because it's too much to learn in class probably at 2 hours per week.
- woggy 6y agoWe were taught programming in high school in QBasic (2005-2006). It was fun and we learned a lot. I don't think it matters how old the language is.
- larodi 6y agoI've been spittings hundreds of c++ code back in 1996-1999, not knowing that it was not...standardized. You may be astonished at the complexity. The only downside was that it took minutes to compile it on 386DX and Borland's C compiler was faster with C. Inline assembly was a commonplace back in the day, so to know C/C++ actually meant to know Assembly and hand-optimize code more often than not.
- notRobot 6y agoI've worked with plenty of complex legacy C/C++ :). The downsides are that it doesn't run on modern machines, is difficult to maintain, and you need to implement dozens of workarounds to do basic things that can be done in modern languages with just a couple lines of code.
- noobermin 6y agoI learned C at 14 to 15 from a compiler tutorial. I did however, learn C++ from reading the C++faqs in college and today, years later I still mostly don't get internals in C++ (I don't really understand move semantics but from what I understand the compiler does a better job than me). C++ is a ballooning language and really mastering the thing seems impossible if you have a day job that doesn't involve mastering it.
- accurrent 6y agoI see nothing wrong in learning progaming using old tools. The key thing is to deliver the basic concepts required for problem solving. In all honesty a student can learn "proper" C++ at a later stage.
- lioeters 6y ago> This release of Turbo C++ was released in 1990.. That said, this project is still pretty impressive for an HS student, even if it's written in ancient C++ and requires DOS to run :) I agree it's unfortunate that schools are/were slow in catching up to a modern programming environment. This highschooler's project was made in 2015, so the students were learning a language standard/platform that was a couple decades behind. It makes the project even more impressive, given the technical constraints that the student had to work with, in addition to their young age. It's a good example of the "hacker" spirit that we encourage on HN. Software (and hardware I imagine) engineers deal with similar situations often, having to work around the limitations of legacy codebases or platforms, challenging what it can be made to do. Another comment mentioned that some schools moved to teach PHP instead of C++. Granted that's an improvement in some aspects to Turbo C++ 3.0, I think the latter might have been better in terms of learning the real fundamentals.
- gambiting 6y agoIn Poland we had c++ as part of the curriculum around the ages 16-19. Granted, all projects were just simple algorithms, like for sorting digits and finding the shortest paths, but still.
- rightbyte 6y agoSame in sweden some time ago around 2007. I wonder why they didn't picked like C, BASIC or Pascal or something. C++ feels very unforgiving as a starter language. 10 years later when I worked as a substitute teacher it was PHP instead which felt more odd as a starting general programming language ...
- LandR 6y agoIn my CSYS Computing Course in high school in the UK we used C. It was very very basic stuff though. Still, I was able to basically walk through my first year at Uni (which was exclusively C programming) with almost zero effort.
- maxfan8 6y agoShouldn’t the title of this have a “Show HN: “ prepended?
- mindfreeze 6y agoUpdated, Thanks
- notRobot 6y ago#include<conio.h> #include<dos.h> This appears to be for DOS, and I'm betting this was written in Turbo C++. From what I've heard from my friends, almost all schools in India still use Turbo C++ (in DosBox) to teach C++. Ew.
- magnio 6y agoWhat is used in other countries? I assume Visual Studio or Eclipse? We used Code::Blocks in our high school.
- notRobot 6y agoI've also heard of gcc/g++ being used along with vim or Geany.
- pjmlp 6y agoWhen I was a TA (late 90's), we were using Windows 98 with Visual C++. Memory is fuzzy, I think it was version 5.0. Each student had their own area on a file server which would be mounted locally and the exercises and respective support material for integration into VS as per exercise were available on the server as per lab session.
- tuankiet65 6y agoIf it's still the case then the Vietnamese curriculum (in middle and high school) still teaches Pascal using Turbo Pascal. They (the Ministry of Education) probably doesn't feel like modernizing it though because it's not widely taught, and from my own experience most students (and teachers!) neglect it anyway.
- andi999 6y agoActually I think TP is quite good for that. Compilation time is (really) fast, and it is close enough to the metal to learn about the foundational structure of the computer and programming languages; the language is well defined. Syntax is (sort of) shared by ada if one later needs production grade. Of course, the counter argument is, that it is kind of boring (except for some kids). Alternative is a language, where you easily can get things done. So maybe Python, but thats about it. I am still sad, that LOGO is not used anymore (there is much more to logo than turtle graphics).
- giancarlostoro 6y agoMine's not as cool but I did a similar project using Qt and C++: https://github.com/Giancarlos/qNotePad https://github.com/Giancarlos/qNotePad I wanted to make a cross platform text editor that was simple and consistent throughout different platforms. I found it easier to do it in Delphi cause I wasn't sure how to hook up a syntax highlighter for it. I'm proud of the small bits I did code though. C++ isn't really my strongest language.
- trashburger 6y agoThe function declarations are formatted in such a way that it makes you think the prototypes come after. Solid project, but I suggest you run the file through something like clang-format.
- zerr 6y agoWhat school was it? :) Maybe you could share the curriculum/syllabus of coding classes in that school? Thanks!
- mindfreeze 6y agoIt is Kendriya Vidyalaya[1], chain of Central Government Schools in India, so they have almost one school in almost in a district of a state. or sometimes two or three in the state depending on Population Density. So at that time Syllabus is something like this[2], it is not exactly same, almost same and I think this was overall pattern of that[2], now it is again revamped[3]. At our time it was more like 4 hours theory/week and 1.5/2 hours lab sessions(which sometimes becomes theory). [1]: https://en.wikipedia.org/wiki/Kendriya_Vidyalaya https://en.wikipedia.org/wiki/Kendriya_Vidyalaya [2]: https://www.kv1bhuj.org/admin/downloads/1997118251study_material_xii_comp(1).pdf https://www.kv1bhuj.org/admin/downloads/1997118251study_mate... [3]: http://cbseacademic.nic.in/web_material/Curriculum19/Main-SeniorSecondary/14_Computer_science_New.pdf http://cbseacademic.nic.in/web_material/Curriculum19/Main-Se...
- oars 6y agoNo matter what language type of C++ he is using, I find this an amazing achievement for a high schooler. I didn't write my first line of code until I was 20 years old in college, and 8 years later I am now a lead developer at one of my country's largest telecommunications companies. I can't imagine how amazing this guy is going to become being able to build this at such a young age. Keep it up!
- qwerty1234599 6y agoThere's lots of kids as young as like 12 out there on the internet programming complex projects all on their own. Granted, it is amateurish code for amateurish projects, but the users don't care and gladly eat it up.
- qwerty1234599 6y agoThis is mostly related to video games by the way, so mods, cheats, helper programs, bots you name it and the person creating them is often a kid.
- oldlinux 6y agoThis guy comes to mind: https://www.youtube.com/watch?v=egukLtEhyP0 https://www.youtube.com/watch?v=egukLtEhyP0
- popotamonga 6y agoI started coding at 8 and didnt turn up nothing special. The only difference between me and my peers is that i earn 5x more but that doesnt mean much, probably just lucky.
- nickjj 6y agoBuilding a text editor is fun. It's the ultimate scratch your own itch project. I remember building one back in the day (2002) with Visual Basic 6. Unfortunately I lost the source code but I still have the website's code. Feature wise it had syntax highlighting, column selection, project wide find / replace, file edit history (timeline), multiple clipboards, splits and more. Does anyone remember what that really good text editor control was in VB6? It did most of the heavy lifting. It wasn't a built-in control.
- chaoticmass 6y agoRich text box?
- nickjj 6y agoNope, it was a third party control. I believe it was originally written in C but someone wrapped a VB6 control around it. It was something you could drop into your app and it had an API for all sorts of nice features. It was one of the best controls at the time for creating a text editor.
- wila 6y agoThat sounds like CodeMax, or its descendent CodeSense. CodeMax was originally a product by Barry Allyn (WinMain software) and it was pretty good. Unfortunately though for him the market was pretty small and it was difficult to survive as a commercial product. It was open source for a short while and that was when CodeSense came about.
- nickjj 6y agoHmm, it definitely wasn't CodeMax but CodeSense rings a bell, but I'm only about 10% sure it was CodeSense. I think I would immediately know the name if it were mentioned. It was much faster and better than anything at the time when it came out.
- smlckz 6y agoNice. >> I would now love to opensource the project for everyone. Where is the license? Learn more about licensing here: https://help.github.com/en/articles/licensing-a-repository https://help.github.com/en/articles/licensing-a-repository
- projektfu 6y agoIf you like stories about kids going way above and beyond in programming, read about Raymond Lau and Stuffit. https://en.wikipedia.org/wiki/StuffIt https://en.wikipedia.org/wiki/StuffIt
- g105b 6y agoI don't care how many bugs it's got. The fact you've done something that isn't 700MB Electron app gets my upvote. Great work!
- nnoitra 6y agoSimple thinking is frowned upon nowadays.