Learning C#: If I don't use it, I'll lose it.

Kaos

[H]ard|Gawd
Joined
Oct 14, 2003
Messages
1,328
I'm trying to teach my self C sharp (again). I've started about 4 times now. I don't work a job where I'd actively use it from day to day so it's hard to commit chunks of time to learning it.

I do however read through tons of log files a week of various types. Another guy here has already built a log file tool for us to use (in VB.net) but there are things I don't like about it that I'd suggested changes and he won't make for one reason or another.

So I thought a good project that would keep me focused (because I'd actually use the end result) and would keep my learning would be to make my own logfile reader to my specs.

This would obviously get more complex as I think up features but I'd want it to open a logfile, parse out some of the header info, and the possibly apply some regex to it to only show pertinent data for the job at hand/what Im troubleshooting.

At first this would be strictly for one type of log, then I'd move it out into other types so you could use the same app for analyzing various logs.

Does this sound too lofty for a first project (especially being so new to C#)? Any advice on undertaking a first project like this would be appreciated.
 
I don't see this as being lofty. I'm not sure how extensive the VB.Net app is, so you'll either want to take on all or some of the functionality in your C# rewrite. If the VB.Net source code is available, then that will certainly give you some direction on object calls and seeing current ways to improve things. Go for it, and just post questions and snippets as you hit walls ;)
 
If you're familiar with Java, or with object-oriented principles in general, I'm sure you'll do fine with C#. There'll be a bit of a language curve as you learn about particular namespaces and their primary uses, but overall your project doesn't sound too difficult. The reason I'm willing to say that is because I've seen you break down the task in to several smaller steps, which (IMO) is a far more difficult task then attempting to learn a few keywords and search for a few classes/namespaces using Google. :)

And, of course, feel free to post in here if you are looking for something in particular but can't figure out how to find it!

Good luck!

2.png
 
Honestly, I would suggest picking up the book Head First C# form Head First Labs. It is chock-full of example programs and extremely challenging labs for oyu to work on. One of the labs involves creating an adventure game, and the other is creating a space-invaders type game.

The information is presented excellently- hands down the best programming book I've ever read.
 
Yep, I own HFCS myself and as a newer modern programmer it is a great book... there's a good chunk of errata so try to get a newer printing if possible and then keep the list handy, but it's not bad enough to really hurt anything the book offers :).
 
Last edited:
One who likes battlestar galactica instead of star trek.

LOL.

What I meant was that I only tinkered with now-defunct languages when I was younger, and just now am getting into modern languages such as C#, C++, Java, etc. :p
 
LOL.

What I meant was that I only tinkered with now-defunct languages when I was younger, and just now am getting into modern languages such as C#, C++, Java, etc.

What use did you have for ALGOL 68, FORTRAN II, and COBOL-68? I hope you're not placing languages like C, Ada, and LISP in the same category.

I'm curious why you list C++ as a 'modern' language alongside C# and Java, which are pretty different languages from C++ but ones that share a lot of commonality with each other. What about C++ makes it particularly "modern?"
 
What use did you have for ALGOL 68, FORTRAN II, and COBOL-68? I hope you're not placing languages like C, Ada, and LISP in the same category.

I'm curious why you list C++ as a 'modern' language alongside C# and Java, which are pretty different languages from C++ but ones that share a lot of commonality with each other. What about C++ makes it particularly "modern?"

I am guessing he means that it is still used today in NEW programs. Keyword here is new. Although there is still plently of COBOL programming going on, it is for legacy/existing applications. I haven't seen anything indicating that new stuff is being created with COBOL or FORTRAN. C and C++ are still the dominant language to know. Most applications are built using those languages. C# and Java are pretty widespread, but aren't typically used for anything resource intensive, since C and C++ can be coded to be more efficient. This has just been my personal experience, and what I have seen and read. So if you think otherwise, don't take off my head.
 
So if you think otherwise, don't take off my head.

*whack* (head rolls off into a basket).

Actually, I was just having some fun with him, pointing out the same point that you (to some degree) were making. My point was the the age of the language doesn't dictate its "modernity."

I might have to disagree with the "resource-intensive" part of your post, though. It depends on what you mean. You're right in the regard that I don't see a lot of math-intensive research programmed in Java or C#... but how many enterprise-level transactional systems are coded in languages like those?

edit: for the record, FORTRAN still has a niche in creating new stuff. You won't see it in your typical software development companies, but that doesn't mean it doesn't exist.
 
but how many enterprise-level transactional systems are coded in languages like those?

Good point. I bet quite a few.

edit: for the record, FORTRAN still has a niche in creating new stuff. You won't see it in your typical software development companies, but that doesn't mean it doesn't exist.

Your right on this. From what I now, it is really good for mathematics. I am sure it is still used to simulate physics algorithms and such. Niche is a good way to describe it, since I have never seem job posting for it, lol. But I am sure there are research centers that use it over C or C++.
 
It's a pretty sad fallacy to think that, because you haven't seen it, it doesn't exist or isn't common or popular. Sandia National Labs is a FORTRAN shop. Fortran 2003 is object oriented, and commonly used on supercomputers and large-scale-out cluster implementations.
 
To clarify my programming when young that I'm talking about not being modern are things like QBASIC and various scripting languages back then :). Nothing anyone uses nowadays, hence why I refer to object-oriented or ones still in use today as "modern", that's all I really meant. No need to read too deeply into it :p.
 
Even reading is superficially, it was impossible to tell what you really meant.
 
Even reading is superficially, it was impossible to tell what you really meant.

True.dat, reading it again it was very opaque... and actually many of the concepts from those past experiences seem to be applying quite well to my programming learning... stuff I thought about naturally is being harped on by the books as though it's something tough when it's a lot of things I always took as granted :). I actually looked back at some of the books I used to use when I was younger and apparrently a couple of them were C++, so I guess it wasn't all bad combined with that in any case :p.
 
Back
Top