473,836 Members | 2,178 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

I've Had Enough

I've had enough of C#. I've had enough of using parentheses for every
'if' statement. I've had enough of having to mix assignment of return
value of methods with flow control, making writing code that's both
readable and consistent, impossible.

C# is hindered by its predecessors and the Microsoft marketing
department. If Anders had his way, this language would be a one where
readable code isn't a near impossibility for non-trivial code; but no,
Microsoft marketing and C++/Java got in his way. The evidence is
blatently apparent in the language.

Microsoft, the company where money comes before technology, has struck
again. The repercussions affect us all.
Nov 16 '05
101 4004
Daniel O'Connell [C# MVP] wrote:
"C# Learner" <cs****@learner .here> wrote in message
news:uQ******** ******@TK2MSFTN GP09.phx.gbl...
Daniel O'Connell [C# MVP] wrote:
Not to sound harsh, but you pretty much sound like a know-it-all in all
of your posts. Considering the content of said posts I'd say you have a
long way to go before that attitude is anywhere near correct.
To be honest, I think that you make yourself out to be a _god_ in /your/
posts.


Now now, I'm a jerk, not a god, ;).
I remember the first time I ever replied to you in a thread. I think the
thread was on the subject of coding with Notepad when not using an IDE. I
posted a reply to you giving a joke about Notepad.

From your reply to my post, I got the impression that you were thinking,
"Who the hell are you to reply to me?!"

I get a similar impression to many of your posts.


Your first reply to me, as best I can tell, was on the subject of naming
conventions. I argued that forcing all developers to use one single
convention was impossible while you felt it should be done. I don't see
where I came off as egotistical there however. Indeed I can only find 3
references to notepad in any of my posts, you were involved with none.


I was wrong, and confused you with someone else; sorry.

I think you're right that the first thread where we communicated was the
thread on naming conventions. In it, you were not unfriendly at all.
Now, maybe I am arrogant. It really doesn't matter to me much. I'm here to
help when I can, learn when I can't, and participate in the rare interesting
discussion where there isn't an answer. I don't think I'm particularly
egotistical, but if you feel my posts are, then you are free to ignore them.

Also, in general I prefer responses to silence. An extra post doesn't take
up much time to read, as long as its somewhat on subject. Generally the only
time I'll lambaste a reply is when its purpose is entirely to 1) enrage, 2)
bitch, or 3) tell me I'm wrong because the person doesn't want my answer to
be right. (I will often reply sharply to someone who is intentionally
spreading mis-information, either by willful ignorance or by malicious
intent, but that isn't strictly applied to replies to my posts).


I am pleasantly surprised that your reply (quoted here) isn't a flame.
Nov 16 '05 #71

"C# Learner" <cs****@learner .here> wrote in message
news:O8******** ******@TK2MSFTN GP12.phx.gbl...
Daniel O'Connell [C# MVP] wrote:
"C# Learner" <cs****@learner .here> wrote in message
news:uQ******** ******@TK2MSFTN GP09.phx.gbl...
Daniel O'Connell [C# MVP] wrote:

Not to sound harsh, but you pretty much sound like a know-it-all in all
of your posts. Considering the content of said posts I'd say you have a
long way to go before that attitude is anywhere near correct.

To be honest, I think that you make yourself out to be a _god_ in /your/
posts.


Now now, I'm a jerk, not a god, ;).
I remember the first time I ever replied to you in a thread. I think the
thread was on the subject of coding with Notepad when not using an IDE.
I posted a reply to you giving a joke about Notepad.

From your reply to my post, I got the impression that you were thinking,
"Who the hell are you to reply to me?!"

I get a similar impression to many of your posts.


Your first reply to me, as best I can tell, was on the subject of naming
conventions. I argued that forcing all developers to use one single
convention was impossible while you felt it should be done. I don't see
where I came off as egotistical there however. Indeed I can only find 3
references to notepad in any of my posts, you were involved with none.


I was wrong, and confused you with someone else; sorry.

I think you're right that the first thread where we communicated was the
thread on naming conventions. In it, you were not unfriendly at all.
Now, maybe I am arrogant. It really doesn't matter to me much. I'm here
to help when I can, learn when I can't, and participate in the rare
interesting discussion where there isn't an answer. I don't think I'm
particularly egotistical, but if you feel my posts are, then you are free
to ignore them.

Also, in general I prefer responses to silence. An extra post doesn't
take up much time to read, as long as its somewhat on subject. Generally
the only time I'll lambaste a reply is when its purpose is entirely to 1)
enrage, 2) bitch, or 3) tell me I'm wrong because the person doesn't want
my answer to be right. (I will often reply sharply to someone who is
intentionally spreading mis-information, either by willful ignorance or
by malicious intent, but that isn't strictly applied to replies to my
posts).


I am pleasantly surprised that your reply (quoted here) isn't a flame.

There is no reason to flame you. However I don't think you have much
standing to be rude yourself.
Nov 16 '05 #72
Daniel O'Connell [C# MVP] wrote:
[...]
I am pleasantly surprised that your reply (quoted here) isn't a flame.


There is no reason to flame you. However I don't think you have much
standing to be rude yourself.


I wasn't trying to be rude; I was just letting you know that I was
pleasantly surprised in not getting flamed.
Nov 16 '05 #73
threads don't
have their own messagepump etc.


actually, .Net threads don't have access to the message queue - i.e. no
inherent GetMessage/DispatchMessage support from which to build a pump.

roy fine
Nov 16 '05 #74
C# Learner wrote:
Daniel O'Connell [C# MVP] wrote:
[...]
I am pleasantly surprised that your reply (quoted here) isn't a flame.


There is no reason to flame you. However I don't think you have much
standing to be rude yourself.


I wasn't trying to be rude; I was just letting you know that I was
pleasantly surprised in not getting flamed.


Or did you mean my other two posts about god and the kitchen? Just to
make sure...
Nov 16 '05 #75
It's hard to find anyone that knows how to write Threading code without
wrapping themselves in knots. Given that, I find the C/C++ programmers are
much more likely to have a clue on how to write working code in a Threaded
environment. I also find that most VB programmers don't understand the
windows messaging architecture, whereas most C/C++ programmers do
understand.

Of course, there are dud C/C++ programmers, but understanding the foundation
of the windows architecture is important for complex programs. So, as lead
engineer and architect at the company I work for, pointy haired boss and
all, I prefer people with C/C++ experience.

Chris A.R.

"microsoft.publ ic.dotnet.langu ages.csharp"
<an*******@disc ussions.microso ft.com> wrote in message
news:A3******** *************** ***********@mic rosoft.com...
I also disagree with the industry. Many places are going VB.NET because of > the number of VB and ASP developers they are retraining.


terrible. generally speaking, I'd have more faith in Java & C

developers than VB and ASP people. having experienced frustration of
working with these VB and ASP people.
Nov 16 '05 #76

<snip>

Odd. I'd prefer people with .NET experience. You see, It's better
to know how .NET works, than to know how win32 works, as .NET does a lot
for you and sometimes differently than in win32 (i.e.: there is no
messageing architecture to post messages between threads, threads don't
have their own messagepump etc.


I have to disagree. I find it important to understand not only the tool that
is in your hand, but where it came from and the design choices that were
made in building it (i.e. the limitations and why they exist).

It may be that you can do 95% or more of your work without needing to know
what lies below the surface, but the small percentage that is left can be
the difference between relying on voodoo programming and being able to
design a good solution or fix a difficult problem. You can be a good .net
programmer without a win32 background, but it's a lot tougher then for
someone with a good win32 background.

Programmers certainly need experience in .net, but if that's all they have
there will be some problems that are just plain mysterious (and perhaps
unsolvable) to them. Part of that is because the .net platform is still
immature and you can't go very far before it p/invokes back to a win32 API
or COM object. I think you'll find that a number of the
limitations/restrictions of the .net platform and the BCL are directly
derived (even when it's not obvious) from the platform.

As the platform matures more services will be ported to .NET so this will be
less of a problem, but that could be a long ways in the future.

Dave
Nov 16 '05 #77
Chris A. R. <so*****@hotmai l.com> wrote:
It's hard to find anyone that knows how to write Threading code without
wrapping themselves in knots.
True.
Given that, I find the C/C++ programmers are
much more likely to have a clue on how to write working code in a Threaded
environment.


I'm not sure I'd go along with that - they may know how to write
working code in C/C++ in a threaded environment, but that doesn't mean
they'll know the .NET threading model. That's why whenever the
singleton pattern is discussed, there's always someone throwing the
Double Checked Locking Algorithm into the mix, despite it
a) not working as usually presented
b) almost always being a worse approach than various others

:(

I'd like to think I understand threading "better than most" but it
still scares the hell out of me really...

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #78
"Chris A. R." <so*****@hotmai l.com> wrote in
news:u9******** ******@TK2MSFTN GP10.phx.gbl:
It's hard to find anyone that knows how to write Threading code without
wrapping themselves in knots. Given that, I find the C/C++ programmers
are much more likely to have a clue on how to write working code in a
Threaded environment. I also find that most VB programmers don't
understand the windows messaging architecture, whereas most C/C++
programmers do understand.

Of course, there are dud C/C++ programmers, but understanding the
foundation of the windows architecture is important for complex
programs. So, as lead engineer and architect at the company I work for,
pointy haired boss and all, I prefer people with C/C++ experience.


Odd. I'd prefer people with .NET experience. You see, It's better
to know how .NET works, than to know how win32 works, as .NET does a lot
for you and sometimes differently than in win32 (i.e.: there is no
messageing architecture to post messages between threads, threads don't
have their own messagepump etc.

FB
--
Get LLBLGen Pro, the new O/R mapper for .NET: http://www.llblgen.com
My .NET Blog: http://weblogs.asp.net/fbouma
Microsoft C# MVP
Nov 16 '05 #79
"Chris A. R." <so*****@hotmai l.com> wrote in
news:uA******** ******@TK2MSFTN GP10.phx.gbl:
So, the comparison I was making was in pre-.Net, windows directed
languages only. While there is no message pump for threads, it is
important to understand how threading works on the GUI components and
how Invoke, BeginInvoke, and EndInvoke actually do work with the GUI's
message architecture in these situations.
I disagree. The reason for that is that .NET is a layer abstracting
away the win32 architecture. It provides a new API. If a developer reads
and understands the .NET methods like BeginInvoke() and friends (there was
a nice discussion about these on the DOT-NET developmentor list recently),
it *should* be fine. After all, those are the routines a developer works
with. Even if the developer understands that below the surface WM_*
messages are sent to messagepumps, it doesn't matter, as the developer
can't do a thing about it.
Continuing on that concept, there are often times when knowing the
underlying architecture can make a programmers ability to program .Net
programs a lot better.


This is partly true for winforms control usage, for the rest, I
don't think it is that important. Partly true as in: why do I have to do
an Application.DoE vents() here and why will my program lock up when I do
that right before a TreeView.EndUpd ate() ? For the rest, it's out of your
hands anyway, the information that disabling a textbox control will call
Win32's SendMessage() below the surface is great, but it only helps you
understand why some things work differently than expected, it can't help
you fix it.

Frans

--
Get LLBLGen Pro, the new O/R mapper for .NET: http://www.llblgen.com
My .NET Blog: http://weblogs.asp.net/fbouma
Microsoft C# MVP
Nov 16 '05 #80

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

123
4013
by: C# Learner | last post by:
I've had enough of C#. I've had enough of using parentheses for every 'if' statement. I've had enough of having to mix assignment of return value of methods with flow control, making writing code that's both readable and consistent, impossible. C# is hindered by its predecessors and the Microsoft marketing department. If Anders had his way, this language would be a one where readable code isn't a near impossibility for non-trivial...
8
270
by: Simon | last post by:
I've had enough of C# Learner. I've had enough of his complaining about using parentheses for every 'if' statement. I've had enough of his complaining about having to mix assignment of return value of methods with flow control, making writing code that's both readable and consistent, impossible. C# Learner is hindered by his complainging about C# being hindered by its predecessors and the Microsoft marketing department. If C# Learner...
0
9810
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9656
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10821
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10527
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10573
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7773
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6973
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5642
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4443
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.