Why I hate C#, .NET, VisualBasic.

Status
Not open for further replies.

NullPointerException

Level 12
Thread author
Verified
Aug 25, 2014
580
621
1,066
45
Nirvana/serenity/paradise/tranquility/heap.
(But love C, C++ and Java)

// Hello1.cs
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}

Why create an extra class? It is a bad programming habit.
Why we don't use
#include <iostream.h>

main()
{
for(;;)
{
cout << "Hello World! ";
}}

instead? This doesn't make sense. I absoloutely hate the syntax of Microsoft. Why do they keep it too...Simple? Really. This is not Python. This is...an unreadable nightmare. And .NET, VisuaLBasic too suffer from the same, boring, dull syntax.

// Hello3.cs
// arguments: A B C D
using System;

public class Hello3
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.WriteLine("You entered the following {0} command line arguments:",
args.Length );
for (int i=0; i < args.Length; i++)
{
Console.WriteLine("{0}", args);
}
}
}

What the devil is this?
Why three curly brackets instead of
}}}
}}
}

I absloutely hate C#. I am amazed why people even hire C# programmers. It is obvious C & C++ still are the king, but that....is wrong. C#'s syntax is wrong. What is this? It's too simple. It feels like I am programming in English. It feels...just different. I've learnt C# ten years ago to increase my programming knowledge. Really, I am writing English more than syntax.

In Java, this is so simple but beautiful.
System.out.print.ln("Hello, World!"); //Done. From System import out and then print line 'Hello, World!'

This is beautiful.
printf("Beautiful");
This is not.
Console.Writeline("Ugly, Ugly, Ugly!");
Why? It's just...wrong. Does anything feel like me? Or am I turning old?
 
  • Like
Reactions: Dani Santos
Okay, have you tried C++ OOP? You'll see that classes are actually a good thing.

You're right that structural programming looks more clear for those "Hello, World" examples but will be pain in the back to program a more complicated application. :)

I also remember in college that my professor has been teaching us that every programming language is taking a path to evolve in a natural one. So yes, there's a trend of creation of natural-like languages.

But what irritates me the most and makes me uncomfortable are actual translations of English programming statements to the native programmer's one (e.g. if, do, while in Russian). It's like me using for English Windows for years and I need to change some settings of a friend who uses Russian one - I know how to do it, but the translation confuses me. :D
 
Okay, have you tried C++ OOP? You'll see that classes are actually a good thing.

You're right that structural programming looks more clear for those "Hello, World" examples but will be pain in the back to program a more complicated application. :)

I also remember in college that my professor has been teaching us that every programming language is taking a path to evolve in a natural one. So yes, there's a trend of creation of natural-like languages.

But what irritates me the most and makes me uncomfortable are actual translations of English programming statements to the native programmer's one (e.g. if, do, while in Russian). It's like me using for English Windows for years and I need to change some settings of a friend who uses Russian one - I know how to do it, but the translation confuses me. :D
Yup, C++ was my first language. I am learning Objective C also.

Programming is a habit. It's like your heart beat. Once it is active and you learn how to use it, you cannot really change it. As you said, I know the language, and its translation, but it's weird.
 
  • Like
Reactions: avast! Protection
Because it is supposed to be simple. vb.net is just better than c#, and why is it ugly to write console.writeline, is what you want it to do, it is like you are actually talking to the machine.
 
Because it is supposed to be simple. vb.net is just better than c#, and why is it ugly to write console.writeline, is what you want it to do, it is like you are actually talking to the machine.
Assembly == talking to machines.
C++ == Indirectly talking to machines.
VB/.NET/C# == Talking to the compiler.
 
Just trying something, don't mind me ...

Code:
// Hello1.cs
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}

#include <iostream.h>

main()
{
for(;;)
{
cout << "Hello World! ";
}}

public class Hello3
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.WriteLine("You entered the following {0} command line arguments:",
args.Length );
for (int i=0; i < args.Length; i++)
{
Console.WriteLine("{0}", args);
}
}
}

A bit easier to read code using the code tags.
 
Status
Not open for further replies.