Getting Started With C#

G

Gene Wirchenko

Dear C-Sharpies:

I have been studying SQL Server 2008 Express. Now, I have to
make it go: a rewrite of the company's client billing system. C# is
one of the languages I have considered for front-end use.

I am a .Net newbie.

I have programmed in various block-structured languages including
a bit of C, some Java, and some C++. My latest language experiment in
Java did not go so well. I am trying to avoid that happening again.

1) How do I get started? Pointers to getting up to speed in C#
quickly would help. I do not mind studying, but I want substantial
materials, not just quick demos.

2) I want to solve the problem of quickly building a form that can
CRUD an SQL Server table in a reliable manner. Elegance can wait, but
working can not.

3) I thought that C# Express would be unlimited like SQL Server
Express is, but it appears that it is but an evaluation copy. Is this
true? How much does it cost to play .Net?

4) Does C# have either of call-by-reference or call-by-value-result
parameters?

5) What other questions should I be asking?

Sincerely,

Gene Wirchenko
 
A

Arne Vajhøj

I have been studying SQL Server 2008 Express. Now, I have to
make it go: a rewrite of the company's client billing system. C# is
one of the languages I have considered for front-end use.

I am a .Net newbie.

I have programmed in various block-structured languages including
a bit of C, some Java, and some C++. My latest language experiment in
Java did not go so well. I am trying to avoid that happening again.

Java and C# are pretty close as languages.
1) How do I get started? Pointers to getting up to speed in C#
quickly would help. I do not mind studying, but I want substantial
materials, not just quick demos.

I think you need a book to start. A 1000 page book simply has a lot more
than a bunch of 10 page tutorials on the web.

"Professional C#" from Wrox is a reasonable good book for someone
with programming experience.
2) I want to solve the problem of quickly building a form that can
CRUD an SQL Server table in a reliable manner. Elegance can wait, but
working can not.

Win forms with the grid something control and a data set is not latest
and greatest in .NET technology, but you should be able to edit data
writing very little code.

But you need to have a basic understanding of C# and .NET
first - otherwise it will end up in mess.
3) I thought that C# Express would be unlimited like SQL Server
Express is, but it appears that it is but an evaluation copy. Is this
true? How much does it cost to play .Net?

..NET SDK and C# Express has full language and framework capability.

It is missing some wizards and addon capability etc..

C# Express should work fine for what you described above.

BTW, SQLServer Express are actually missing some features and
has some limits on data as well.
4) Does C# have either of call-by-reference or call-by-value-result
parameters?

C# support both call-by-value and call-by-reference.

call-by-value is the most common.
5) What other questions should I be asking?

Good question.

:)

Arne
 
G

Gene Wirchenko

On 7/18/2011 6:38 PM, Gene Wirchenko wrote:
[snip]
1) How do I get started? Pointers to getting up to speed in C#
quickly would help. I do not mind studying, but I want substantial
materials, not just quick demos.

I think you need a book to start. A 1000 page book simply has a lot more
than a bunch of 10 page tutorials on the web.

"Professional C#" from Wrox is a reasonable good book for someone
with programming experience.

From the bit that I could see on their site, it looks reasonable,
and I have ordered it. Thank you for the referral.

[snip]

Sincerely,

Gene Wirchenko
 
G

Gene Wirchenko

Dear C-Sharpies:
[snip]

Having seen your posts in the Java newsgroup and having at least some
sense for what you mean by "did not go so well", I will suggest (remind,
actually, as others in that newsgroup have mentioned this as well) that
success has a lot to do with your own personal attitude.

A large part of the issue was all of the "correction" that I
received.

[snip]
I'll second Arne's general suggestion to use a book, though I don't have
any first-hand experience with any specific introductory texts that are
good.

Depending on your general skill level and ability to assimilate new
information, you might look at Jon Skeet's "C# in Depth" book. As the
title suggests, it's not an introductory text but the basics of C# are
easy to learn for someone who already knows how to program. You could
work with a more advanced text like that and just pick up the basic
syntax and the like as you go along.

I looked at the TOC, and it seemed beyond me. (.Net newbie.) I
might get it later after I chew through the Wrox book Arne suggested.
Unfortunately, to a first approximation there is no shortcut to writing
good code. If it is acceptable that whatever you write the first time
will have to be completely torn apart and rewritten from scratch once
it's done and needs to be modified later (or the first time a
significant bug is discovered and needs to be fixed), then by all means
jump right into that.

Otherwise, you should expect to spend at least some significant amount
of time with tutorial level projects, to familiarize yourself with C#

Oh, I will.
and especially .NET (the language itself is not so hard to learn, but as
with other large frameworks .NET has a wealth of features in it that
require a significant time investment to become proficient in).


C# Express is as "unlimited" as SQL Server Express. That is, it is
missing some features desired by more advanced users, but it is a fully
operational and indefinitely-licensed product that you can use for no
charge.

Weird because the installation mentioned 30 days. Well, in less
than a month, I will know.
Call-by-reference, yes. Call-by-value-result, no but obviously it is
trivial to implement that yourself should you so desire.

FYI: in C# parlance, the phrase "pass by…" is more commonly used than
"call by…". Of course they tend to be used interchangeably to describe
argument passing conventions, but it's useful to know what the idiomatic
terminology is so that you can better communicate with the proficient
community.

This is an example of that correction. I used a technical term
correctly. You knew what I was referring to. You still "corrected"
me. Some of the corrections about Java were rather ill-mannered.

There was also some very nice advice as well.
You'll know when you get to them. :)

As in:

WHAM!

"Oh, my head! I suppose I have another question."

Sincerely,

Gene Wirchenko
 
A

Arne Vajhøj

Weird because the installation mentioned 30 days. Well, in less
than a month, I will know.

You may have to register it within 30 days.

But is free (you may need to create a Hotmail/Live account) and then
you can use it forever.

Arne
 
G

Gene Wirchenko

You may have to register it within 30 days.
Yes.

But is free (you may need to create a Hotmail/Live account) and then
you can use it forever.

It did not say whether it was or not.

Sincerely,

Gene Wirchenko
 
G

Gene Wirchenko

[...]
FYI: in C# parlance, the phrase "pass by…" is more commonly used than
"call by…". Of course they tend to be used interchangeably to describe
argument passing conventions, but it's useful to know what the idiomatic
terminology is so that you can better communicate with the proficient
community.

This is an example of that correction. I used a technical term
correctly. You knew what I was referring to. You still "corrected"
me. Some of the corrections about Java were rather ill-mannered.

This is an example of that attitude I was referring to.

There's nothing in my post that you should have found objectionable or
even worth commenting on, and it _is_ a good idea to learn the jargon
that is idiomatic for a given community. In this case, the specific
example of jargon isn't arbitrary; it comes straight from the language
and run-time specification.

It is not a good idea to snipe at someone using standard
terminology. There were too many of those.
You can insist on using terminology that is unusual in context, and many
people may even be able to understand what you're saying. But there's

The terminology I used upthread are standard terms. You will
find them used in computing texts. You did understand them. Why is
it more important to "correct" me than to point me to what I need to
know to get going?

With the appropriate text, it will become apparent in short order
what the dialect is.
less friction if you fit in, and if you are gracious when people offer
gentle reminders. There is more friction when you do neither of those
things.

There is also friction when you invalidate a newcomer because he
does not use the same dialect you do.
It is, of course, your prerogative whether you will carry over the
attitude you demonstrated before to this newsgroup. I can do nothing
other that offer my own observations and suggestions. Take from them
what you will.

So far, no one has gotten on my case about the C# way. Mind you,
I have not posted any code yet. I am cautiously hopeful.

Sincerely,

Gene Wirchenko
 
A

Arne Vajhøj

It did not say whether it was or not.

In my book a product is fully operational and indefinitely-licensed
if you can use it forever just by registering without paying a cent.

Arne
 
G

Gene Wirchenko

[snip]
In my book a product is fully operational and indefinitely-licensed
if you can use it forever just by registering without paying a cent.

Mine, too, but there was no statement that registration is free.
In the absence of that statement and considering that it was called a
trial/evaluation, I am concerned.

Sincerely,

Gene Wirchenko
 
G

Gene Wirchenko

On Fri, 22 Jul 2011 19:40:39 -0700, Peter Duniho

[snip]
Nobody has sniped or corrected you here. You are overreacting.

Ah, no. You posted this:

FYI: in C# parlance, the phrase "pass by…" is more commonly used than
"call by…". Of course they tend to be used interchangeably to
describe
argument passing conventions, but it's useful to know what the
idiomatic
terminology is so that you can better communicate with the proficient
community.

That is a correction.

[snip]

Sincerely,

Gene Wirchenko
 
A

Arne Vajhøj

Mine, too, but there was no statement that registration is free.
In the absence of that statement and considering that it was called a
trial/evaluation, I am concerned.

Believe me - they are completely free.

Arne
 
G

Gene Wirchenko

Believe me - they are completely free.

Oh, good. It used to amaze me how much time could be lost/wasted
just because someone could not be bothered to document something
clearly. Sometimes, it is just a matter of one line.

I am doubly glad because I got my C# book today. Let me open the
box. <pause> Yup. It is here.

Sincerely,

Gene Wirchenko
 
A

Arne Vajhøj

Oh, good. It used to amaze me how much time could be lost/wasted
just because someone could not be bothered to document something
clearly. Sometimes, it is just a matter of one line.

If you for some reason do not like C# Express, then you can
get SharpDevelop instead. It is also free.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top