This could be anything from some specific technologies/tools, data structures, design patterns, programming paradigms to advanced concepts like Machine learning, Neural networks, AI, etc.
Which concept took you the longest to grasp?
This could be anything from some specific technologies/tools, data structures, design patterns, programming paradigms to advanced concepts like Machine learning, Neural networks, AI, etc.
Which concept took you the longest to grasp?
For further actions, you may consider blocking this person and/or reporting abuse
Oldest comments (69)
Structuring the project in my first programming language I used personally, Python.
This ^^π― It gets better with each project, for sure π
Structuring projects in general feels like learning programming all over again sometimes when you switch frameworks or platforms π
Back in 1999 I was trying to learn c++, but I got stuck on template classes. A few years later I learnt about generics in c# and suddenly I understood what template classes were :D
I'm still stuck on monads, so I guess that will be the biggest gap when I finally get back to it.
Would you say it would be a great first language?
I'm not considering the learning curve, but the way the lang is designed to learn programming basics. Most say C is super solid. Although, I've heard C++ is good, too.
My first language was BASIC, which I think was a good place to start. It's more important to have fast feedback when you're first starting out (IMO) to get you hooked. So I would recommend an interpreted language over a compiled one, just because you can get the immediacy in a read-evaluate-print loop (REPL) where you type something and it causes something to happen.
Also, the "batteries included" nature of most popular interpreted languages means that you're going to find it easier to do things off the bat, not trying to figure out how and what to include.
I can't say I'm a C++ dev, because it's been well over a decade since I last wrote any, so maybe the STL and whatever exists now has a batteries included approach, so perhaps that's not a concern.
But for the basic concepts I'd start with a language that outputs comprehensible errors and doesn't make you wait to find out when you make a mistake.
C and C++ are good second languages.
Fair enough π
Some solid points there π
Python.
The advantage of Python is that it's quite a "broad church" language, supporting many different approaches to solving a problem - but it's also very consistent.
There are some things it won't teach you, most notably generics/templates (which are different, but similar, capabilities), but generally most concepts in other imperative languages exist in Python (and there are a few functional techniques about as well).
The lack of special-casing and "gotchas" makes it very simple to work with and explore, though, and things like Jupyter (a sort of web-based super-REPL) help things further.
Moving on from there, C++ is a great language to understand because it has both very low level elements to it and high level constructs built on top - allowing you do dig very deeply into how things like coroutines or containers actually work if you need to.
I have no experience in using it, but as far as I've seen some code, I've liked the syntax of it π Very intuitive and easy to read for those starting out π
There used to be quite a number of languages designed for teaching - BASIC was one (designed by, amongst others, a nun), and Pascal was another. Universities and schools seem to have universally ditched them all in favour of Python.
Sauce for the nun thing?
Sister Mary Kenneth Keller
Took vows in 1940, and while doing a PhD - the first woman to get one in Comp Sci - ended up in Dartmouth College, implementing the first version of BASIC.
Wow, I didn't expect to find a Sr. Keller reference on DEV!
I went to Clarke, where she founded the Computer Science department (and there's a building named after here there now).
Lol a nerdy nun, thanks for thr fact!
"Programming Languages" are designed to represent programs that can get "stuff done" - not to teach programming basics - unless of course the language is expressly designed to "teach programming basics".
How to Design Programs, Second Edition
HtDP teaching languages
Pyret
PAPL - Programming and Programming Languages
The Structure and Interpretation of the Computer Science Curriculum (2004):
quote
I can't say I fully understand what a monad is but after banging my head days against parser combinators, I am a bit more confident about it.
Pointers
This is high on my list, foolishly I dived into C++ with no prior programming experience way back when and immediately starting crying lol
same, C++ was my first language and I was having fun for a few months until I got to pointers and decided I would switch to JavaScript lol
It always seems like every language has that moment that comes down to "you loved me until now"
This made me curious
Do they teach "pointers" in bootcamp? Should they?
Ben Halpern γ» Dec 3 γ» 1 min read
In the early 2000's - AJAX. I was working with a lot of static HTML, PHP and MySQL back then and being able to grab and present data in the background wouldn't sink in to my thick skull!
Although more than a decade later, getting a grasp of how async code works overall was pretty challenging for me too π
Your mistake was using php in the first place lol,
Altho in early 2000 you must have had quite a lack of teaching resources..
Respect mate!
When I was in 11th grade I did not understand C++ concepts which was taught in my school. Eventually I grinded hard enough to score full marks in all of the C++ tests they had given about the fundamentals of C++ like classes, inheritance and conditionals.
Simplicity
Lol
Well put π
Also 'simplicity' !== 'easy', both directly and indirectly π
Every developer should watch and digest this video from Rich Hickey :P
infoq.com/presentations/Simple-Mad...
Thanks for sharing, this is golden π₯π₯
Bayes theorem! I use it occasionally but I have to teach myself over and over. It's like learning a new language, 'use it or lose it.'
What do you use it for?
The last time I used it I was testing the false positive paradox. I was used to work in the biotech industry. So, What's the chance you get a disease versus the fact that you tested positive for that disease, tested once or even twice. Alternatively, one might come across it for A/B testing in stats. What are the chances you will see false positives in your comparison testing.
HTH
I dont have much of a mathematics background so anything related probablity hits me hard. Could you suggest me study material? Oh and what kinda data you were storing for your purpose?
Starting out in Statistics, I suggest something like Kahn Academy. It looks well thought out.
But I also like Kahn Academy because you can jump around as you want.
HTH
Oh i love that guy! He runs a new channel by the namr "Three blue one brown", i learned differential from on there ππ
javascript functions such as
mapand specificallyreduce, that one was and kind of still is a complete new world for me!Ikr but they are the most useful stuff i have ever learned.
I like them so much that i construct them even for environment where they dont exist, like C or JS on wsh
First language I learned was Objective-C back in 2010. Blocks (which are like lambda expressions, closures, or arrow functions), alluded me for so long.
I stopped writting obj-c maybe 7 years ago. Just recently I was chatting with a friend about Swift closures and it dawned on me, that's what blocks are in obj-c!
Everything.
I think, I started programming multiple times. And I only got on a professional level after the 3rd or 5th try.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.