DEV Community

Discussion on: Using .Net Core Console Apps as a Baseline for Teaching Programming

Collapse
 
timpurdum profile image
Tim Purdum

Hi Stefan, thanks for the feedback!

My goal, right or wrong, when I was learning to code was to search for that "one" language that would do everything I wanted. This has until recently been a futile effort. However, in recent years and months, we really can achieve this with several different languages. As you mentioned, Javascript fits this bill. However, with Mono on Web Assembly and projects like Blazor and Ooui, it is now also possible to achieve this with C#.

Of course, everyone will have their favorite languages. I have had some experience with Javascript, Typescript, Java, Swift, PHP, and VB, in addition to C#. I have done one project in Python, and I wouldn't say I know it well, and none in Ruby. But here are my reasons for liking C#.

  1. Static Typing: I like having variables that must be declared, and the type can be viewed in the IDE just by hovering over it. When I do need to work in Javascript for web development, I prefer to transpile Typescript. Of course, as IDE's get smarter, this may become less of an issue.
  2. Brackets and Semicolons: Most languages I have worked with would be considered in the C family, and I really prefer being able to see where a line and a closure both end, and wrap the text and indent any way I feel. This is definitely an aesthetic issue, but I get confused by code that is only separated by indents.
  3. Huge support. Like Javascript, there is a very large support community around C#, including Microsoft, of course.

Regardless of the language you choose, I wonder what you think of my console-first approach? I think you could take your favorite language, say Ruby, and write a similar guide. Heck, I wouldn't mind if you basically copied my examples!

Collapse
 
stefandorresteijn profile image
Stefan Dorresteijn

I love your console-first approach. Programming is not about being able to set up a web server, it's about learning how to solve problems, using a code. All in all, I love your idea and the time/effort you've put into it. Once I can figure out for myself what I think are core development skills every beginner should learn, I might turn it into a similar guide!