Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. 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. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

Start programming?

- - - - -

  • Please log in to reply
6 replies to this topic

#1
huja

huja

    Newbie

  • Member
  • 13 posts
  • Joined 20-October 12
  • OS:Windows 7 x64
  • Country: Country Flag

Hello everyone

 

For as long as I can remember I've always liked IT and computer technology, especially software.

 

I now use computers more like a hobby-thing, but I would love to work in the IT-world one day.

 

I've been wondering whether I would like to work as a Sys-Admin or a programmer and came to the conclusion that programming would be my thing. Why? Because I want to CREATE. It's amazing that you can create something by writing code.

 

However, the thing is. I have NO programming skills whatsoever. But I would love to learn.

Where do I start? How did you start? Are you a self-learnd programmer or did you go to collage/university? Is it really neccesary to get a degree in programming if you want to work as a programmer?

 

Again - where do I begin? I'm a complete beginner and wan't a soft start.

 

Looking forward to here from you! :)

 

Sorry for my english!

 

Thanks

 

//Huja




How to remove advertisement from MSFN

#2
gunsmokingman

gunsmokingman

    MSFN Master

  • Super Moderator
  • 2,241 posts
  • Joined 02-August 03
  • OS:none specified
  • Country: Country Flag
One semester of programming between 1983 - 1985 area.
Joined this board about 10 years ago and saw how similar CMD was to
I remember from my one semester of programming. I then started to learn
CMD than moved onto VBS and now I am self taught in these code language's
Jscript, HTA, Basic HTML, Vb.net


GunSmokingMan



#3
vinifera

vinifera

    <°)))><

  • Member
  • PipPipPipPipPipPip
  • 1,096 posts
  • Joined 27-August 09
  • OS:Windows 7 x86
  • Country: Country Flag

people often recommend to start with C (not C#)

then move to either Visual Basic or C++ or C# (.net)

 

C++ being most hardest to work with but one can do anything with it


If you want true Windows user experience
try Longhorn builds: 3718, 4029, 4066

#4
jaclaz

jaclaz

    The Finder

  • Developer
  • 15,643 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

I will argue that *somewhere* a line must be drawn (as a matter of fact has been traditionally drawn) between scripting and programming.
Scripting (like batch, basic, vbs, javascript, etc.) are IMHO a (more convenient) way to learn about the concepts of algorithms and structuring a program.
A program (as well as a script) is nothing but a (well) designed set of instructions in a given order and with some internal logic to issue (or avoid to issue) some other set of instructions in a conditional way.

Most of the "programmers" (or "self declared ones") think that scripting is an "inferior" activity (for reasons that are "fluff" in most cases, like - to mention a few - "scripted is slow, compiled is faster" or "you cannot have a zillion dimensional array in <whatever interpreted language> while I can have it in C #^2" <- this doesn't exist, is "C very, very sharp, i.e. something that it is so "smart" and "sharp" that you will fail creating anything of use with it in a decent time/filesize without two zillions - mostly unuseful - dependencies) and have a kind of superiority complex.

The "superiority" scale is more or less this one:
C# .Net>C#>C++>C>[any other compiled language]>[any interpreted language]>[any form of Basic]>[any other form of scripting language]>batch/bash

Being personally on the very right of the scale :ph34r:, I need to spend some words in defense of scripting and more generally "interpreted languages".

There is no doubt that if you are going to re-write from scratch (say) Autocad, you will need to use a fastish compiled language, but in everyday use, and with todays fastish processors/machines, you can do most of your programs in *any* interpreted language.

Since the basics are the same IMHO if you want to learn about programming you should also start from scripting/interpreted languages as they are definitely easier to start working with and to troubleshoot.

Typical workflow of a (simple) scripting language:

  1. write the commands
  2. run the script
  3. if it doesn't work as you wish introduce some pauses, and screen output of variables and loop to #2 a few times until it works
  4. remove the added "check points"

Typical workflow of a (not-so-simple) compiled language

  1. write the code
  2. compile
  3. link
  4. run
  5. find out that you missed to include some library
  6. compile
  7. link
  8. run
  9. add some lines to show variables, pause, etc.
  10. compile
  11. link
  12. run
  13. since you cannot find why it doesn't work, start a debugger
  14. run in the debugger
  15. since you cannot find why it doesn't work add a zillion breakpoints and trace manually a few hundreds instructions
  16. find the issue
  17. read a few tens pages on cryptic API/DLL functions to find one that would solve the issue
  18. rewrite the code
  19. compile
  20. link
  21. run
  22. try the .exe on another machine/other version of OS and find that a dependence is missing
  23. rewrite the code
  24. compile
  25. link
  26. run
  27. hopefully everything works, BUT in the meantime you changed (for whatever reasons) your compiler and your source doesn't compile anymore on this new compiler an you have to find out why.

 

Of course I exaggerated it a bit ;) but it is more similar to "reality" than you would normally imagine :w00t:

 

jaclaz



#5
vinifera

vinifera

    <°)))><

  • Member
  • PipPipPipPipPipPip
  • 1,096 posts
  • Joined 27-August 09
  • OS:Windows 7 x86
  • Country: Country Flag

I fail to see how c#/.net is superior to c++

.net always uses JIT which even if user is unaware of, is slow and chokes CPU core

not to mention its not real compile when you "make an app"

 

unlike vb/c++ which are pure compile, no JIT optimization is needed and their compiled apps "just run"


If you want true Windows user experience
try Longhorn builds: 3718, 4029, 4066

#6
jaclaz

jaclaz

    The Finder

  • Developer
  • 15,643 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

I fail to see how c#/.net is superior to c++

 

I wasn't saying it is in any way superior (as a matter of fact I personally believe it is the worst kind of bloat that was ever conceived), I was simply stating how a number of "self declared" programmers often state that, and the exact order how they look at all the rest down their nose ;).

 

You will see how, when MS will come out with Visual Studio 2031 :w00t: and it's brand new "C## §!++ mark II .net/java integrated" :ph34r: how a lot of people will believe it will be third best thing in life after ice cream and sliced bread.

 

A "Hello world" program made with that will have a size of a mere 150 Mb, but will need 1 terabyte of libraries and will run only on a OS with a base install size of 2 Tb ;).

 

 

jaclaz 



#7
allen2

allen2

    Not really Newbie

  • Member
  • PipPipPipPipPipPipPip
  • 1,804 posts
  • Joined 13-January 06

Perhaps you should  define the border between a script and a program. The real definition of a script is anything that doesn't need to be compiled to run but in my own opinion this isn't a good definition. The right definition should be the complexity of the work, its usage and the time needed to develop it (so of course it would be different for all people).

When i create a script with more than 100 lines, i usually doesn't call this a script anymore.

Also, you forgot something, the time and the size needed to do the work. In some case, creating a script will be enough as it will do the work fast enough. But in other case, there are no way to avoid creating a compiled program to do the work and then adding some work to the developping process.

As everything, it heavily depends on how you master each language but redoing all the work from zero in another language might be a hassle when that happen.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users