How hard is C#? (2 Viewers)

prabha_friend

Prabhakaran Karuppaih
Local time
Tomorrow, 04:15
Joined
Mar 22, 2009
Messages
866
To learn, adapt and acquire the complete knowledge of it...
 
I never liked the C variants as a matter of style. I found it easier to read BASIC, FORTRAN, and PASCAL. Having said that, C is a procedure-oriented language with object-oriented programming as part of its range of applicability. If you can do VBA or VB6 programming, then the structures involved in C# are just a few steps more complex.

As to "complete knowledge of it" ... as long as the program is alive and viable, it will change, evolve, improve - probably faster than most of us can (or want to) keep up with it.
 
Depends.

If you know no computer languages, then it will take a bit.

If you only know HTML or CSS or SQL it will be slightly easier.

If you know just one other non-VB programming language, it will be a lot easier.

If you know a few other non-VB programming languages, it will be very easy.

If you are well versed in Visual Basic, then you're 95% of the way there already.
 
I think the hard part about a "complete knowledge" of C# is understanding how to structure your classes in a data-centric application. Access does not train us well in this regard, because we want to display our data immediately, directly queried from the database, in our UI. This is great for rapid development, but in a serious data-driven application you might write in C#, this is very poor design. Make one change with this short a distance between the database and the UI, and something will break, and it will break silently. If you are going to bother to write in C# and leverage its full capability for scalability, testability, reliability, encapsulation of business logic, etc, then you want a repository layer, a service layer, a data layer, a viewmodel layer, and finally your view, and I think making all these components work together is what you will find hard to get your head around.

And then there are asynchronous methods, commands, converters, and the list goes on...

Learning the syntax will be easy. Understanding what full-stack means, or what MVVM is, or whether a particular piece of logic should be performed in a command, or in the service layer, or in the viewmodel, that is hard.
 
According to Bill Gate C# is Visual Basic for snobs. He only had it created because IT professional demanded it. It's underlying engine is identical to VB.NET.
 
The reason I really don't care for it is that C's predecessor language (yes, it was called "B") was actually implemented using PDP-11 macro assembler. The syntax for -(x) or (x)+ comes direct from the auto-increment/auto-decrement features of the hardware. The language has evolved but originally, you had to run TWO utilities for compilation. First you ran LINT to clean up your language syntax... THEN you ran the real compiler. And you had to do it that way because the original compiler didn't have much in the way of data typing. Which meant you could end up with some syntax that looked more or less legal, but which would give you all sorts of data issues if you didn't fully understand the implications of the original programming paradigm.

Another reason is that we got to a point where I was contractually REQUIRED to use a different language than any C variant. In this case, when I had a possibility of using a C variant, we were required to work in PL/1-G. Talk about extremes... with early C variants you had almost no data typing in the compiler. With PL/1-G typing was so strong that two strings of different length were considered type mismatches unless you used a function to change the length of one of the string variables.
 
I am a VBA Developer and VB is no longer important in . NET core Era... That's why.
 

Users who are viewing this thread

Back
Top Bottom