Jump to content

Welcome to Geeks to Go - Register now for FREE

Geeks To Go is a helpful hub, where thousands of volunteer geeks quickly serve friendly answers and support. Check out the forums and get free advice from the experts. Register now to gain access to all of our features, it's FREE and only takes one minute. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more.

Create Account How it Works
Photo

C# good for first time?


  • Please log in to reply

#1
rev_olie

rev_olie

    Member

  • Member
  • PipPipPip
  • 532 posts
Hey,

Im going to Uni in September and one of the modules we have to do programming in C#. Now personally I have never done any programming language. I've done HTML when I've needed it and then general Access stuff but that's it.

Do you think it would be worth touching on another language in the mean time or should I just concentrate on C#?
  • 0

Advertisements


#2
Perplexus

Perplexus

    Lord of the Geeks

  • Malware Removal
  • 1,185 posts
I haven't taken a college programming course in 20 years, but I have used several programming languages extensively since then. C# is my absolute favorite. It's the easiest language I've ever used. It's not going to teach you about pointers and some of the other finer points of programming but I would imagine it will be a nice language to get your feet wet with. You will learn all the other stuff later. I wonder if they still teach Assembly?
  • 0

#3
MrFish

MrFish

    New Member

  • Member
  • Pip
  • 7 posts
If you've done a bit in html you could always try some php and javascript. Most websites use php and javascript, including large websites like Facebook and Youtube. It's not only practical to know but programming concepts are really all the same, it's the syntax you have to learn. It will make learning a more difficult language come easier and make more sense.

You could also try Java (not javascript. Just java)
  • 0

#4
rev_olie

rev_olie

    Member

  • Topic Starter
  • Member
  • PipPipPip
  • 532 posts

I haven't taken a college programming course in 20 years, but I have used several programming languages extensively since then. C# is my absolute favorite. It's the easiest language I've ever used. It's not going to teach you about pointers and some of the other finer points of programming but I would imagine it will be a nice language to get your feet wet with. You will learn all the other stuff later. I wonder if they still teach Assembly?


Wow most of that went over my head :)

But thanks for the in sight. I've got a project lined up now so hopefully i will be able to get stuck in. I have no idea were to start :) but that's all the fun :)
  • 0

#5
bomtond

bomtond

    New Member

  • Member
  • Pip
  • 4 posts
C# is good, but I think the biggest thing you should focus on now are good habits and practices. You have to be able to program first and learn the syntax, or way to say things, as you go. Think of learning a new programming language like learning a foreign language. But if you can't explain to someone driving directions from Point A to Point B or how to bake a cake, it won't matter how many languages you know.

First thing I would do is start programming on a sheet of paper first in what some instructors call "pseudo code". Simply, you write out the steps to complete the task (what variable you need to ask for, where you need to store them, how you need to proceed). Some people use flow charts, some just write out notes, but basically you want to end with the desired outcome and have all the steps in between. Think how to solve the problem in terms of giving directions to someone. You tell them each step, when to turn, when not to. You have to think in those terms to solve your programming problem. Set out your steps systematically to reach the desired outcome. You'll want to skip this step in your beginner classes because the tasks are so easy, but it's a good habit to get in for later in life.

Second, you going to want to figure out how to format your code and how it appears. I had one instructor who would deduct us on points for not properly and consistent formatting the code. This would be things like how many spaces you have on each line before you being your code, how you name variables, how many spaces you have between lines, where your procedures/functions can be found, et. al. Find a format that you like that is easy to scan through and find what you need and stick to it. Be consistent with how your code looks. This will help you later on when you have to keep track and find problems in programs that are five or more pages long.

Third is real simple. If you don't know it already, you need to learn basic logic. Things like when an AND or OR statement are true. Some real complex problems may make you involve many of these logic statements, so it's important to understand them. Most of what you'll do is conditional statements to execute certain things.

Finally, if you get bored in your intro class, the best thing you can do is just do additional problems. Take all the proper steps to learn how to think a program through from beginning to end. You can jump to a new language if you want, but you'll find that it's basically just learning new syntax (or ways to say things). The basics of programming, the thought process, is universal across all languages, and that's the part too many people skip over. I think we get too into learning a language and not being able to explain ourselves first. I write code everyday and I can tell you, people that don't properly format their code or think the problem through first have some of the nastiest code there is. Eliminate unnecessary steps and make your code easy to read and it will help you later down the line.

Good luck!
  • 0

#6
rev_olie

rev_olie

    Member

  • Topic Starter
  • Member
  • PipPipPip
  • 532 posts
Wow thanks for the reply :)

Cant think how long it took to write :)

I've been carrying on with the books this week, seems to be working well but have decided not to start anything else yet for the same reason you stated that I don't want any bad habits. But its going good :)
  • 0

#7
UV_Power

UV_Power

    Member

  • Member
  • PipPipPip
  • 391 posts
In an effort to spare you a bit of reading, here is my summary up front:
I would say the best language for beginners to learn is Python. It's a powerful language geared towards clean and rapid development and it's very easy to learn. To really understand how to write efficient Object Oriented programs, I would recommend starting with C/C++ as a first language to give you a good solid foundation, even if it's tougher to get your feet wet. In your situation (since you only have two weeks left and need to use it for your studies) my advice to you is to just experiment as much as you can with C#. This tutorial should help you get started.

If you are still reading this, then here are my thoughts:

First off, I have never heard the phrase "going to Uni" before, but I assume it means going to a University and the rest of what I have to say is based on this assumption. If not, then it's clear that I live under a rock, and I would appreciate the clarification.

Secondly, I just finished a four-year bachelor's degree in Computer Science (which is why I live under the aforementioned rock :)), so keep in mind that my only experience with programming is in-class/homework assignments and personal projects. I have no "in-industry" experience yet, but I am hoping that will change soon.

I wonder if they still teach Assembly?

Yes. They do. And for good reason. The less you understand about how the hardware is executing each line of your program, the more inefficient your code will be. If put side by side, here are the relationships between a few languages:

(More control over hardware) Assembly ----- C ----- C++ ----- Java/C# (Easier development)

C# will be a nice language to get your feet wet with. You will learn all the other stuff later.

I agree, but it comes at a price. To really understand the strength of Object Oriented Programming, I feel like there is no better place to start than C (or possibly C++). Admittedly, it will take longer to learn these languages, but they will force you to understand the fundamentals of OOP and give you much more control over your program's behavior. One prime example is memory allocation, which is an extremely important concept to understand. With programs written in languages like C/C++, you control how much memory your program is using at any given time. With C#, you need to trust a garbage collector to pick up anything you've left behind. I, personally, don't like the fact that no one knows when a garbage collector in C# is called (except for Microsoft :) ) and I also don't like how it's discouraged to call it yourself for performance reasons. Anyways, my point is it's harder to go from C# to C/C++ than the other way around.

I totally agree with what bomtond wrote and recommend that you consider everything that was mentioned. But, I do disagree with one thing:

The basics of programming, the thought process, is universal across all languages

This may be true for all Object-Oriented languages (dare I say the majority of the popular languages) in use today, but certainly not ALL languages. When I was introduced to Functional programming languages (ML, Scheme, etc.) for the first time, it blew my mind. It forced me to think of the problem in an dramatically different way, and helped me develop new ways of thinking about problems that come up with OO programming. The same can be said about Logical programming languages (Prolog) and many others. I admit you would be hard-pressed to find any of these types in a job description, but learning to think about a problem in a different way is always helpful to anyone in software development. Show me a good programmer and I will show you an even better problem solver.

Don't get me wrong. I am not trying to put C# down as a language. One of my favorite hobbies is programming games in XNA (Microsoft's application framework for writing PC/Xbox games using C# and .NET). It's just that I am an advocate of understanding how things work before you start to use them. It's much more difficult for me to explain what C# is doing with every line of code than it is for C/C++.

There are some questions that have been in the back of my mind since I started writing this. What are you studying which requires you to use C# first? Is it some kind of specialized degree or certification of some sort which focuses on .NET programming? If not, then I am confused why the curriculum doesn't start out with a more fundamental language.
  • 0

#8
rev_olie

rev_olie

    Member

  • Topic Starter
  • Member
  • PipPipPip
  • 532 posts
Wow thanks for that.

Haven't absorbed it all yet so im still going through :)

Yes the degree is in Computer Networks, but not sure were it encompass C#. The degree is at a Uni which is part of a Microsoft Academy and so from that i would presume we would be working down the lines of .Net, however I don't know much else.
  • 0

#9
UV_Power

UV_Power

    Member

  • Member
  • PipPipPip
  • 391 posts

i would presume we would be working down the lines of .Net, however I don't know much else.

If I were you, I would do a lot of research here to at least get a summary of each class I planned to take. I wouldn't be comfortable investing 2(?) years of my time to a degree without knowing all the classes I would be taking and what they would cover.
  • 0

#10
rev_olie

rev_olie

    Member

  • Topic Starter
  • Member
  • PipPipPip
  • 532 posts

i would presume we would be working down the lines of .Net, however I don't know much else.

If I were you, I would do a lot of research here to at least get a summary of each class I planned to take. I wouldn't be comfortable investing 2(?) years of my time to a degree without knowing all the classes I would be taking and what they would cover.


...4 years :) ( year 3 is a placement year)

I know what im doing in the other modules its just this one im not sure of. It's just marked as Software development 1 and later on Software development 2.
  • 0

#11
UV_Power

UV_Power

    Member

  • Member
  • PipPipPip
  • 391 posts
I see. Well, then I will just say good luck and happy coding.
  • 0






Similar Topics

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

As Featured On:

Microsoft Yahoo BBC MSN PC Magazine Washington Post HP