I've been grappling with this at the undergraduate level (where we do start with C++) for our object oriented course. What do you think are better options? Ruby?
-
-
Replying to @ProblematicProf
Ruby, JavaScript. But the main thing is start making things that you can share with others right away. Create a blog and start tweaking it in ways *you want*. There's nothing more motivating in programming than seeing an idea you had in your head take form.
7 replies 12 retweets 126 likes -
Replying to @wycats
I completely agree with you on C - it's a terrible language. But as a first language, Ruby and Javascript are terrible choices as well - you may have more fun, but you will likely learn how to do everything wrong.https://medium.com/@mindplay/the-problem-with-learning-languages-like-javascript-php-ruby-or-python-first-is-you-can-get-away-7accc689d365 …
3 replies 0 retweets 10 likes -
Replying to @mindplaydk
Can you give an example of something "loose" you can get away with in both Ruby and JavaScript that you can't do in Go that you have to spend years to unlearn?
2 replies 0 retweets 3 likes -
Replying to @wycats
Yes, you can learn how to get away with certain wrong things in Go as well, but it's not the first thing you will learn - in Go is easier to do things right, and you have to go deeper to break the rules - in Ruby, JS, Python etc. it's the other way around.
1 reply 0 retweets 2 likes -
Replying to @mindplaydk
I really want you to provide me with an example, not just rhetoric.
2 replies 0 retweets 11 likes -
Replying to @wycats
I don't think my post is at all rhetorical though. In my experience, devs who don't know any of the stricter languages, even if they create working products, tend to write code that no one else can understand. Programming requires discipline - the loose languages don't teach it.
4 replies 1 retweet 6 likes -
Replying to @mindplaydk
Just so we're clear, your claim is that writing in Ruby and JS teaches you the bad habit of not documenting your functions, which takes years to unlearn, unlike go where types force you from the get-go to properly document your functions?
1 reply 0 retweets 0 likes -
Replying to @wycats
You asked for an example. Obviously it goes much deeper than that - behind stricter languages there is usually a philosophy that is taught and expressed through the possibilities and limitations of the language. In languages like JS or PHP, basically "anything goes".
1 reply 0 retweets 0 likes -
Replying to @mindplaydk @wycats
That is, get the syntax right, and you can get away with pretty much any dumb thing you can think of - it puts programmers in permanent "patch mode", and teaches them that that's programming: hack at it until it works. It's not a healthy philosophy to learn.
1 reply 0 retweets 0 likes
Ruby, for example, has arity checking as well as rejecting implicit coercions approximately as often as Rust. Doesn't this teach developers that anything doesn't go?
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.