| | |||||||
| Technology & Technical Skills Computer skills, hardware, software, internet topics, gadgets, programming |
|
Welcome to the Personal Development for Smart People Forums, the place for lively, intelligent discussion of all personal growth issues -- physical, mental, financial, social, emotional, spiritual, and more. You're currently viewing as a guest, which gives you limited read-only access. By joining our free community, you'll be able to post your own messages, access many members-only features, see the new messages posted since your last visit, and of course remove this header message. Registration is fast, simple, and free, so please join today. If you arrived here from a search engine, you may want to explore the main site first, which includes hundreds of deep and insightful articles on a variety of personal development topics. |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| Senior Member Join Date: Feb 2008
Posts: 555
|
I am considering learning a programming language. I do software testing for a living, and it would be helpful to be able to write some of my tools. The primary language used in the company is C# .NET, so I thinking of starting there. I have basically no experience with programming. I am experienced with T-SQL and have quite a bit of experience using the .Net Regular Expressions. Other than that, I started a C# tutorial once, but didn't get very far into it. For those of you with experience, would C# .NET be a good place to start, since that is what I would likely be using for my job? Or is there a better starting point? I appreciate any suggestions of advice.
__________________ Random thoughts from Some Random Guy |
| | |
| | #2 (permalink) |
| Senior Member Join Date: Sep 2008 Location: Ontario
Posts: 157
|
Have you looked into any software testing automation tools like Mercury or Rational Software? There are many others as well. Since you are a tester, you could record your test scripts using the software and the automation tool would create the code for you. You could then review the code and sort of "reverse engineer" how it was developed. I learned quite a bit about Basic programming when I was testing applications using Rational Robot. Just a suggestion. Hopefully someone with C# experience can chime in here as well. |
| | |
| | #3 (permalink) |
| Senior Member Join Date: Feb 2008
Posts: 555
|
Unfortunately the company I work for doesn't place a lot of importance on proper software testing, so getting approval to buy any automated tools isn't very easy. That is one of the main reasons I am interested in learning to create some of my own tools and utilities.
__________________ Random thoughts from Some Random Guy |
| | |
| | #4 (permalink) |
| Junior Member Join Date: Jun 2009
Posts: 23
|
Best way to learn is by actually coding, not by reading some book. Ideally you should start from C and then move to C#. C is a more fundamental language and will give you better depth. C# helps in developing quick tools but the grounding that C gives is invaluable.
__________________ A casual stroll through the lunatic asylum shows that faith does not prove anything. Friedrich Nietzsche |
| | |
| | #5 (permalink) | |
| Senior Member Join Date: Aug 2007
Posts: 136
| Quote:
C# is an object orientated language similar to Java. C is not object orientated and while you could learn some programming principals from learning C it still wouldn't justify learning it when you could dive right into C#. As I said before C# is similar to Java, and Java is often taught as a first language to computer science students. Examples Code: // Hello World in Microsoft C# ("C-Sharp").
using System;
class HelloWorld{
public static int Main(String[] args){
Console.WriteLine("Hello, World!");
return 0;
}
} Code: // Hello World in Java
class HelloWorld {
static public void main( String args[] ) {
System.out.println( "Hello World!" );
}
} Then just dive right in. Also look for some good C# source code and just read through it. There is no better way to learn than by example as long as the example is of a good standard and follows all guide lines. If you don't understand something look it up. Change things in someone elses code and see how it affects the program. Last edited by hawkal; 10-31-2009 at 11:31 AM. | |
| | |
| | #6 (permalink) |
| Senior Member Join Date: Sep 2008 Location: Ontario
Posts: 157
|
I have learned a lot of differnent technical tasks online by simply watching youtube tutorials. I did a few searches a found a pretty good resource. Check out this person's list of c# vids YouTube - QuackWare's Channel |
| | |
| | #8 (permalink) |
| Junior Member Join Date: Oct 2009
Posts: 5
|
C# is a good language - elegant, powerful, easy to use, and in demand. It's a good starting point. Java is a good one too, but if your company uses C#, it makes sense for you to start with it. If you have no programming experience, I'd suggest you start with reading a C# book, rather then a tutorial. It will give you a broader perspective on the language and programming in general. There are books which explain some topic, and then give you practical exercises so that you can check how well you understood it. I learned C# this way |
| | |
| | #9 (permalink) | |
| Senior Member Join Date: Nov 2006 Location: Seattle, Washington, USA
Posts: 2,219
| Quote:
This might not be the right thread for it, but I'd be interested in your opinion as to whether or not C would be a good language to start with in general, and also why Java is okay as a first language. ... To the OP, I'd suggest talking with some of the developers in your company. Make a buddy and ask for tips. I'm actually involved with one of the testers at my company and teaching her how to program to help her build automation, so I can tell you from the other side that some of us devs are quite willing to help out.
__________________ Currently reading: Job: A Comedy of Justice, Robert Heinlein | |
| | |
| | #10 (permalink) | |
| Senior Member Join Date: Feb 2008
Posts: 555
| Quote:
__________________ Random thoughts from Some Random Guy | |
| | |
| | #11 (permalink) |
| Junior Member Join Date: Oct 2009 Location: Metro Detroit, Michigan, USA
Posts: 19
|
I've been using C# professionally for several years and agree it's a good language to learn: fairly easy and very much in demand. You can download a free edition of Microsoft Visual Studios at http://www.microsoft.com/express/vcsharp/ to write C# programs, or, if you know any students, buy the student edition quite cheaply. Also, search "C# user group (your city)" to find developers in your area to socialize with. Good luck!
__________________ Personal development can not occur in a vacuum. Meet people and join organizations who share your interests and goals. |
| | |
| | #12 (permalink) | |
| Junior Member Join Date: Oct 2009 Location: Finland
Posts: 10
| Quote:
In my opinion, beginning with C isn't necessary. Actually, it might not be the best choice for you right now, because as pointed above, it's not an object oriented language. OO languages (C++, Java, C#) are pretty popular, especially in high level programming, so it would be very useful to learn the principles of object oriented programming. If you begin with C and get accustomed to it, you'll still have to learn OO when/if you switch to C#. When you learn one language, it'll be easy to learn other languages later. C# is pretty similar to C++ and Java, so once you learn C#, you can easily learn one of the other languages as well. Of course, later, you can also learn C or any other language you want or need. My first language was Java because it's widely used as a teaching language. I guess it's widely used as a teaching language because it's both object oriented and easy to learn... and is actually used in some "real life" projects. However, when I specialized in embedded systems, I began learning C, because it's widely used in low level (hardware level) programming. So yeah, I'm a C programmer, but in your situation, I wouldn't recommend it. While learning programming, it's more important to learn the general principles and mindset of programming. When you master these, you can apply this general knowledge and learn pretty much any language you want or need to use. Of course, when you've got the basics down, it's useful to stick to one language at first and become an expert in it. In your situation, yes, C# seems to be a good choice when it comes to your career, as you'll very likely need it at work. | |
| | |
| | #14 (permalink) |
| Banned Join Date: Oct 2009
Posts: 215
|
I would avoid the MSFT toolchain if you can - it's kind of crufty and IMO not a pleasant place to program. One can certainly get work done there, but I wouldn't choose to get work there if I had other alternatives. If I were going to recommend a first high level language, I would go either most of the way up the abstraction chain, or most of the way down - either learn C which is a very concrete language, and focus on how the compiler turns your C into machine instructions (basically, use C as an assembler with braces), or learn a language like Python that has a wide variety of high falutin' abstractions (objects, complex built in data types, lambda calc etc.) and little to no contact with the bare metal computer. Smalltalk or Scheme might also be an option there. The reason I suggest this is that most other languages are a compromise of these two paradigms - an attempt to offer some of the speed and bare metal access of C/asm with some of the features of the abstract languages. I find most of these compromises are failures, and ultimately I want either C or Python for the vast majority of jobs. |
| | |
| Bookmarks |
« Previous Thread
|
Next Thread »
| Thread Tools | |
| Display Modes | |
| |
| | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| I'm interested in learning programming | Lupe | Technology & Technical Skills | 11 | 09-30-2009 12:15 AM |
| Effective Language Learning + Learning multiple languages at once | superseiyan | Personal Effectiveness | 2 | 12-25-2008 08:52 AM |
| Learning Programming 30 Day Challenge | dinc | Personal Effectiveness | 2 | 03-31-2008 07:41 AM |
| What programming language is close to english | vladtess | Technology & Technical Skills | 8 | 11-21-2007 01:58 PM |
| Which programming language? | Ibanez | Technology & Technical Skills | 15 | 10-12-2007 03:20 AM |
All times are GMT. The time now is 01:37 AM.






