4 ms·
Show HN: Programming Is Easier Than You Think
- varunsharma07 4y agoNice! This brought back memories of a car game I had coded in C in MS-DOS while in college.
- spaceman_2020 4y agoA little off-topic, but I've been teaching myself how to code. Programming is, indeed, not as complex as one thinks. But there's a massive (and frustrating) gap between building a function vs building a deployable app. Deploying an app with strong security, user account control, caching, server side rendering, etc. involves dealing with way more issues than most coding courses cover. I just wish online tutorials focused as much on building, say, user authentication, as they did on solving programming problems. The latter might be good for learning how to code, but the former is what you need to bring the stuff to life.
- Fire-Dragon-DoL 4y agoThere are so many layers that pile up on a developers knowledge that I feel disoriented when I try to teach my wife. I agree, courses should focus on that, the problem is that to START coding you need to at least know: text editor, some http,some html, some css, bash (or similar) with common commands and env setup, git, probably some sql, maybe some js, some server side language/webserver. This to do something meaningful, and I'm not even involving a framework. Given that, it kinda makes sense focusing on just coding to start, then you can remove that from the list.
- zabzonk 4y agoyou don't need much (or any) of this stuff in order to write desktop applications. so many people here seem to think that everything is web-based, and it really isn't.
- BrutalCoding 4y agoYou’re right, but if you would Google “build desktop application” for example, you’ll see Electron in the top 3. I could imagine that many new devs will think building desktop applications requires JS, HTML and CSS. To make things more confusing, it’s possible to use Electron with Rust, React, and/or even Python. These can be combined too, all in all it could be quite confusing for some.
- zabzonk 4y agoi'd say that if you are learning programming, don't start with a gui framework, or with trying to write gui apps. start with something like python, using its standard libraries.
- BrutalCoding 4y agoI’m on your side, using Python to draw a smiley in the terminal is a fun and good way to learn in my opinion. I think I started with Visual Basic Scripting as a kid. I had fun by just using Windows own Notepad.exe, writing down a script in there and saving it as a .vbs file. Now out of the sudden I made something that produced ‘scary’ pop-ups on the screen and opened and closed the CD drive repeatedly. Later on, in some PC games I played, I got annoyed (and mesmerized) by hackers. That made me look into DLL injections and cheat engines. I’d say to anyone that’s new to programming, find what languages are considered “easy” and find out if you can do what interests you, like in my case trying to have infinite ammo in a game. Another idea, look into moving a servo motor (Arduino + Raspberry Pi, or just the Pi on its own). A “robot” that shoots a rubber band. I’ve made that for fun and started to add a camera into the mix, adding OpenCV to recognize people and make it shoot. It’s similar to a LAW (killer robot) but without the killing part! My point is, do whatever project sounds fun and try to to do that with a language that is considered easy for the job.
- Fire-Dragon-DoL 4y agoYou can still write a web applications with just JS, some HTML (no css) and no familiarity with command line. And you can write a frontend-only application with just html, css and js and nothing else, true. Still, if you want to do anything more than writing something for yourself, you need all of that unfortunately.
- grepLeigh 4y agoCheck out the Django Girls tutorial, which I've routinely run for 40-50 attendees in an all-day workshop. By the end of the day, you'll have an app that can be deployed to a PaaS like PythonAnywhere or Google App Engine: https://tutorial.djangogirls.org/en/ https://tutorial.djangogirls.org/en/ My recommendation for new programmers who want to "get shit done" is to learn a kitchen-sink framework. Rails or Django are my usual recommendations, because these have tons of examples of user accounts, role-based access control, caching, deployment, etc.
- HeyZuess 4y agoI think this is relevant to many subjects. I know nothing about cars, but I can probably pick up a book or watch a few videos about and have a reasonable basic knowledge, but there is no way I am going to go out and tune up a car. The learning of many core principles is quite easy, but gain a breadth and depth of knowledge is the difficult part. A lot of this only comes from the application of skills. I have been programming for a very long time and the amount of information I know I don't know is huge let alone the information I don't know that I don't know. But then again in my day job I probably do not need to know a lot more than I know, and within that context programming is easy.
- nullchan 4y agoLearning the Grammar of any language is, of course not very hard; the hard part is actually the speech, and the idioms of the language, its patterns and context as well. You can probably learn Korean grammar in a day, but may take you years to master the language, and the same applies to programming :)
- chkas 4y agoHowever, this crash course also teaches the basics of speaking.
- Jtsummers 4y agoHaving attempted to learn Korean as a kid living in Korea (but in an English language community since we lived on base, didn't get true immersion), and later on as a teen/college student (using the grammar and dictionary I still had but can no longer find), programming is a breeze in comparison.
- chpatrick 4y agoReminds me of my first language, Logo. Although it's so similar to Python I guess you might as well make this a library and teach people Python right away. Not sure the extra syntax really adds much.
- chkas 4y agoIt is quite different from Python. Python is more complex. Which is on the one hand an advantage, because it is more powerful, on the other hand a disadvantage, because it is more difficult to master for beginners. Easylang is more like BASIC.
- chpatrick 4y agoI think if you only use the syntactic elements that this language has, Python isn't more complex at all. Easylang: a = 7 a = 9 * a if a > 20 print "WOW!" print "a is large." end print "a: " & a Python: a = 7 a = 9 * a if a > 20: print("WOW!") print("a is large.") print("a: " + a) I don't think it's worth making a new language just because you added/removed some punctuation. If this was a Python library the person learning it would have the same amount of effort, but they'd know a bit of Python in the end too instead of an esoteric language.
- chkas 4y agoThe syntactic elements are not that different from Python, as you correctly point out. Actually, it is very similar to Lua. So I see it more as a little known but not esoteric programming language (like Brainf***). But semantically it is much easier than Python for beginners. I have summarised this here: https://easylang.online/blog/easyl_pyth.html https://easylang.online/blog/easyl_pyth.html
- timbit42 4y agoI don't see how it is like BASIC. It is very much like Logo with the exception of 'end' on the conditionals and loops which is like Lua.
- sylware 4y ago99% of programming is high-school level. The remaining 1% is scientists/mathematicians coding.
- xmonkee 4y agoThis is really really not true. Maybe 50% of coding is high-school level. A LOT of real-world coding is dealing with stuff like concurreny, cryptography, error-handling, infrastructure, synchronization, database optimizations, et etc etc. Those are all learned dealing with real-world systems and with experience.
- orwin 4y ago50% high-school level, 30% institutionnal knowledge, and the last 20 is a mix of personnal character and experience. The difference between a so-called 10x and a 1x programmer is 99% institutionnal knowledge and the ability to go get it (and to not take shit from your coworkers/manager). That's why "10x" engineers are often assholes: in some toxic environments that's the only way to get the needed information. And as other non-asshole leave, only this guy who knows everybody and how everything work can fix 80% of your issues.
- sylware 4y agoI disagree, this is very true. Concurrency/synchronization, cryptography are to be mathematically proven: those are not from 99% but from the 1%. The 99% can re-use that 1%, and no more than skills you get from high-school is required. For instance, in the 1%, you have accurate floating point calculations: you need mathematical proofs of accuracy, usually requiring maths skills above high-school.
- pickledish 4y agoLooks neat! Small note, in one of the code blocks you seem to refer to the front of the house as the “fassad”, in English it is “facade” :)
- chkas 4y agoThanks for the "neat" and for the "facade" :)
- gmuslera 4y agoMore textual than Scratch (https://scratch.mit.edu/ https://scratch.mit.edu/) but that could be a feature.
- dottedmag 4y agoThis is so similar to BASIC on 8-bit microcomputers: easy to understand, immediate, without fluff.
- timbit42 4y agoIt's more like Logo with the conditionals and loops more like Lua with 'end'.
- dang 4y agoAs a Show HN this is a dupe of Show HN: Easylang – A browser-based first programming language - https://news.ycombinator.com/item?id=33670353 https://news.ycombinator.com/item?id=33670353 - Nov 2022 (55 comments) , which spent 12 hours on HN's front page just a few months ago. Please see https://news.ycombinator.com/showhn.html https://news.ycombinator.com/showhn.html and please don't overdo this. Other related posts: Show HN: Particles – the URL contains the whole program code - https://news.ycombinator.com/item?id=31883209 https://news.ycombinator.com/item?id=31883209 - June 2022 (21 comments) Easylang – An easy online programming language and development environment - https://news.ycombinator.com/item?id=29218101 https://news.ycombinator.com/item?id=29218101 - Nov 2021 (36 comments) Monte Carlo Methods or Why It's a Bad Idea to Go to the Casino - https://news.ycombinator.com/item?id=29217539 https://news.ycombinator.com/item?id=29217539 - Nov 2021 (70 comments) Show HN: An Easy Programming Language That Runs in the Browser via WebAssembly - https://news.ycombinator.com/item?id=28863847 https://news.ycombinator.com/item?id=28863847 - Oct 2021 (9 comments) Blackjack Probabilities, Card Counting – Calculation and Simulation - https://news.ycombinator.com/item?id=28025561 https://news.ycombinator.com/item?id=28025561 - Aug 2021 (23 comments) Show HN: Learn the Basics of Programming in 20 Minutes - https://news.ycombinator.com/item?id=27245000 https://news.ycombinator.com/item?id=27245000 - May 2021 (5 comments) Show HN: A modern BASIC-like teaching and learning programming language - https://news.ycombinator.com/item?id=22841336 https://news.ycombinator.com/item?id=22841336 - April 2020 (48 comments) Show HN: The program code is in the URL - https://news.ycombinator.com/item?id=22266563 https://news.ycombinator.com/item?id=22266563 - Feb 2020 (5 comments) Show HN: A Basic-Like Programming Language That Runs in the Browser - https://news.ycombinator.com/item?id=21178687 https://news.ycombinator.com/item?id=21178687 - Oct 2019 (6 comments) Show HN: A small programming course for everyone - https://news.ycombinator.com/item?id=20982002 https://news.ycombinator.com/item?id=20982002 - Sept 2019 (12 comments) Show HN: A few simple games not only for kids - https://news.ycombinator.com/item?id=20745142 https://news.ycombinator.com/item?id=20745142 - Aug 2019 (28 comments) Monte Carlo methods – Why it's a bad idea to go to the casino - https://news.ycombinator.com/item?id=20359100 https://news.ycombinator.com/item?id=20359100 - July 2019 (161 comments)
- thomastjeffery 4y agoHow to write code is easy. Why to write code is difficult. Where and when even more so.