Hacker News new | ask | show | jobs
New to programming/OOP – Should I start with Smalltalk?
3 points by qsmrf 1227 days ago
New programmer here and I want to learn and get a better grasp of OOP - and I read smalltalk can be good for that? Personally, I would do OOP in C# and Java but their syntax is scaring me right now lol

Do you think I should go towards smalltalk just to learn OOP concepts - Although I do know industry wise not many are using it professionally.

3 comments

Unless you are a complete beginner, i.e. you have already tried writing small procedural programs, spending a few days with Smalltalk won't hurt. It would be good to get the hang of it over time anyway, and in Smalltalk the basics of OOP are used in a very clean and simple form that will make it easier for you to understand elsewhere.

I recommend going through the Pharo MOOC materials and be sure you understand the concepts of classes, MessageNotUnderstood, metaclasses, closures, navigating the collections library, basic design patterns. You can do it in parallel with other learning activities with different languages.

I second this recommendation. I didn't get properly OOP until I learned Pharo. Before that I had the impression it was just a more convoluted way of doing plain old imperative programming. Full immersion in a proper environment really helps getting the core concepts. Besides the MOOC, there's also a lot of free books available at https://books.pharo.org/
Smalltalk's ideas about OOP are very different from more mainsteam languages. IMO they're much better, but YMMV
I wouldn't. C-based syntax is all over many languages...you learn it once and easily switch to other language (syntax-wise), so you'll benefit in the future by learning it