how you program

Discussion in 'Software' started by nicksimec, Nov 4, 2007.

  1. nicksimec

    nicksimec Corporal

    what do i need to program for each differnt language
    and what should i use to program
     
  2. JustAnotherDude

    JustAnotherDude Private E-2

    >> what do i need to program for each differnt language

    The short answer: Knowledge

    To program "for each different language" covers a LOT of territory, as there are at least hundreds of programming languages, if not more.
    Luckily, many of them have strong similarities, so when you know one, you can pick up another one "like it" without too much difficulty.

    Traits that I've observed among the best software engineers:
    Many are musicians or artists, and I don't mean they can pluck a string or knock on something. I'm talking about skilled talented people.
    Many of them are excellent puzzle solvers.
    And almost without exception, they have very good memory.
    And without exception, the best ones I've met all have this in common: they LOVE coding software.

    Be aware that there are languages with all manner of properties and quirks.

    Some are called "procedural", and are sort of like a cooking recipe. The instructions flow one after the other, with branches here and there, but generally have what could be considered "a beginning" and "an end" to them.
    Back in "the old days", a CPU was slow compared to what they are today, but more importantly was different in how it processed data. Today's complex processors have more than one core. Some specialized processors, such as "traffic stream" network processors, have several internal "engines", all of which run in parallel. For that kind of hardware, you need to be able to visualize how the parallel code paths must work in harmony.
    There is "interrupt" or "event" driven code. There is "real time" code. Of course, all that code is highly interdependent with the hardware, so to be really good at writing code, you better have a solid understanding of the hardware it will be running on. Only thing is... that's not always true either! Read about Visual BASIC for an example. People who do not even know how to write software are creating programs - sometimes decent ones - with that "language" (sorry, I hesitate to call VB a real language, though I know good VB developers will throw tomatoes at me for that).

    One thing you can count on with almost any of today's programming languages, is that they will be different (or gone) by the time you end your career.
    Software is changing more rapidly than it did in the past, partly because hardware is changing more rapidly. These days, even cell phones have multi-engine processors, and their firmware is most developed in assembly language. I can only imagine what they will be like in more 10 years.

    I have not touched on "object oriented" languages at all, nor shall I at this point.

    Your other question was...
    >> and what should i use to program

    Do you realize how open that leaves you for comments like "your hands", or "a keyboard", or "your brain", etc.?
    Software development ("programming") generally makes use of many tools. In most cases, at least one computer is involved. And in many cases, more than one computer is involved. Just because your software works on one platform does not mean it will work on another. Sometimes it does not have to, while other times it may be a requirement.
    What many people commonly refer to as "development tools" includes compilers, editors, various debuggers and utility software for various specific tasks. But developers also use hardware debuggers, simulators, logic analyzers and other tools as well.

    But to be more specific to what your intended question most likely was:

    Research a language to start with.
    Decide about a platform - Windows, Linux, etc.
    Pick up a couple books to help learn it, and find web sites with tutorials, and web sites with forums where you can ask questions.
    This page has some good links, but it's only a beginning... http://stevethornburg.com/rooms/softdev.html
    If it is a language that gets compiled, get a compiler.
    Get a GOOD editor - if you're going to be working on Windows, use something like CodeWright. If you're working on Linux, maybe something like Emacs. And bear in mind that editors tend to be a very personal thing - what one developer loves, another may hate. Luckily, there are plenty that work well, and you're free to choose one of them.
    If you're working on Linux, learn about several scripting languages, and learn the system tools! Linux has tons of them, and they can be very helpful.
    If at all possible, find a mentor!

    One last thought for you:

    If you are considering going into software development as a career, do some research. See what you think will be in demand years from now. The reason I mention that is because I know SO many developers who found that their skill set had become obsolete, and in a fairly short period of time. And think about how the world is changing, too. Years ago, when countries wanted their software, they hired Americans. Then other countries started getting into it, and soon even "third world" countries started getting into it. What that means is, lower cost competition, and corporate managers are always looking to save money. I'm not saying don't get into it - but be prepared to compete with lots of *very* intelligent people who just happen to live in places where the cost of living is 1 8th that of the USA. And their governments are paying for their educations too, so they also have that advantage. It's the future.
    On the up-side, software development is fun and challenging at the same time, and it is a good creative outlet.
    Good luck with it.
     
  3. nicksimec

    nicksimec Corporal

    where do i type my codes at though
     
  4. Mada_Milty

    Mada_Milty MajorGeek

    http://forums.majorgeeks.com/announcement.php?f=21

    This depends A LOT on what you want to program! You'll need to be specific to get a specific answer.

    If you are just doing web-based programming, you can type your code into any text editor! Notepad, that comes with Windows, will do the trick but many people prefer Notepad++, as this will automatically format your code so that it is easier to read.

    However, as mentioned above, some other languages require a compiler to convert your program's code into executable files. You might try looking into Visual Studio Express as these are free downloads you can use to code Visual Basic, C++, C#, J#, or even setup a SQL server to develop against.
     
  5. nicksimec

    nicksimec Corporal

    ok i just made a simple hello world thing in C# where you press a button and it pops up can i make it a on the desktop and when you double click it it pops up?
     
    Last edited: Nov 14, 2007
  6. nicksimec

    nicksimec Corporal

    ok i published the thing to my desktop but do you know of any tutorials for smoebody with appsolutey n o programming knowledge C#
     
  7. Mada_Milty

    Mada_Milty MajorGeek

    Microsoft has some decent Learning Resources for Visual C# Express on the MSDN website.
     

MajorGeeks.Com Menu

Downloads All In One Tweaks \ Android \ Anti-Malware \ Anti-Virus \ Appearance \ Backup \ Browsers \ CD\DVD\Blu-Ray \ Covert Ops \ Drive Utilities \ Drivers \ Graphics \ Internet Tools \ Multimedia \ Networking \ Office Tools \ PC Games \ System Tools \ Mac/Apple/Ipad Downloads

Other News: Top Downloads \ News (Tech) \ Off Base (Other Websites News) \ Way Off Base (Offbeat Stories and Pics)

Social: Facebook \ YouTube \ Twitter \ Tumblr \ Pintrest \ RSS Feeds