Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: how i can be a programmer  (Read 8295 times)

0 Members and 1 Guest are viewing this topic.

kakagee

    Topic Starter


    Greenhorn

    how i can be a programmer
    « on: July 03, 2010, 12:29:09 PM »
    hi i m akmal.i m deeply intersted in programming.i want to create softwares by myself.i m just beginner and dont know what to do and how.pls help me in this topic

    marvinengland



      Hopeful

      Thanked: 11
      Re: how i can be a programmer
      « Reply #1 on: July 03, 2010, 12:42:42 PM »
      hi i m akmal.i m deeply intersted in programming.i want to create softwares by myself.i m just beginner and dont know what to do and how.pls help me in this topic

      The colleges and universities in your area offer offline and online computer courses.

      Most universities offer a B.S.  Degree in Computer Science.  "C" and "C++" might be a good starting point depending on your aptitude.
      Or more basic courses in What is a computer?, what is the difference between a bit and a byte .

      Some companies will train you if you do well on their aptitude test
      USA

      Fleexy



        Intermediate

      • OW NEXT TIME I SHOULD TURN IT OFF BEFORE SERVICING
      • Thanked: 2
        • Yes
        • Yes
      • Experience: Experienced
      • OS: Windows XP
      Re: how i can be a programmer
      « Reply #2 on: July 03, 2010, 03:26:52 PM »
      I personally recommend BASIC (any variety) for getting started.  Then you can move on to C, C++, Java, etc.  Or, if you're interested in making games, then Game Maker is cool.  http://www.yoyogames.com
      I love .NET!

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #3 on: July 03, 2010, 03:31:28 PM »
      There are a number of ways you could learn to program a computer. If you have not yet started a course in computer programming and you wish to learn it on your own, may I suggest you buy a book on how to write programs in a language called Pythonhttp://www.python.org/
      You should be aware that people who program computers for a living are not considered to be the most desirable employees in an organization. They are considered to be disposable and of little value to the organization as a whole. Programmers are considered to be social misfits who have their heads stuck in their computers and are not aware of the world about them. This stigma persists on despite of the great advances that have been made in computer technology.
      You may wish to broaden your viewpoint and consider alternative possibilities in fields related to computer programming. The broader term that we now use its Information technology. This includes not just computers but also the information that computers gather, how they gather it and what it's used for.
      Here is a brief link that will give you more information about the breadth and width of information technology.
      Information Technology Career List

      kpac

      • Web moderator


      • Hacker

      • kpac®
      • Thanked: 184
        • Yes
        • Yes
        • Yes
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 7
      Re: how i can be a programmer
      « Reply #4 on: July 03, 2010, 03:33:51 PM »
      To be honest I think the best and easiest place to start is HTML.

      Fleexy



        Intermediate

      • OW NEXT TIME I SHOULD TURN IT OFF BEFORE SERVICING
      • Thanked: 2
        • Yes
        • Yes
      • Experience: Experienced
      • OS: Windows XP
      Re: how i can be a programmer
      « Reply #5 on: July 03, 2010, 03:55:46 PM »
      Had I remembered that, I would have recommended it.  Really, you can't get simpler.

      Code: [Select]
      <html>
       <head><title>HTML</title></head>
       <body>
        HTML is <b>extremely</b> simple!
       </body>
      </html>
      I love .NET!

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #6 on: July 03, 2010, 04:52:24 PM »
      Code: [Select]
      Plain text is always...
      more simple!

      To see this innovative program in your browser, click on link below:
      http://geek9pm.com/PlainText.txt

      Now go tell the Boss that you have discovered that programmers are no longer needed and you can get rid of the programmers and get a raise.


      BC_Programmer


        Mastermind
      • Typing is no substitute for thinking.
      • Thanked: 1140
        • Yes
        • Yes
        • BC-Programming.com
      • Certifications: List
      • Computer: Specs
      • Experience: Beginner
      • OS: Windows 11
      Re: how i can be a programmer
      « Reply #7 on: July 04, 2010, 08:42:29 AM »
      To be honest I think the best and easiest place to start is HTML.

      I could have sworn he said "programmer" not "web designer"....

      HTML is not a programming language. and is <nothing> like a programming language.


      You should be aware that people who program computers for a living are not considered to be the most desirable employees in an organization. They are considered to be disposable and of little value to the organization as a whole.

      First: depends on the organization and
      second: sounds more like a very low level Junior programmer type position.
      Third: it's not true anyway. (As the norm)


      Quote
      Programmers are considered to be social misfits who have their heads stuck in their computers and are not aware of the world about them.
      Nope. That's World of Warcraft players.

      I was trying to dereference Null Pointers before it was cool.

      kpac

      • Web moderator


      • Hacker

      • kpac®
      • Thanked: 184
        • Yes
        • Yes
        • Yes
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 7
      Re: how i can be a programmer
      « Reply #8 on: July 04, 2010, 08:46:22 AM »
      Quote
      I could have sworn he said "programmer" not "web designer"....
      If you start with HTML you can then move onto PHP or the like.

      I started off wanting to learn how to program and started with HTML, CSS, JS, then PHP. Then I realised I wanted to stay in the direction of web dev.

      rthompson80819



        Specialist

        Thanked: 94
      • Experience: Experienced
      • OS: Windows 7
      Re: how i can be a programmer
      « Reply #9 on: July 04, 2010, 06:21:31 PM »
      I'd recommend BASIC also as a starting point, the name kind of says it all.  As far as I know nobody uses BASIC for any serious programs anymore but it's easy to learn, and once you learn it and the way programming logic works, you can move on to more serious programming languages.

      If I hadn't learned BASIC first I would have had a much harder time moving into other advanced languages like C.

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #10 on: July 04, 2010, 06:32:14 PM »
      Quote
      If I hadn't learned BASIC first I would have had a much harder time moving into other advanced languages like C.
      In the personal Computer industry BASIC in its various implementations was light years ahead of C for getting things done. This was mostly the genius of Bill Gates rather that the merits of the language. Also, Gordon Eubanks did a lot to further the use of BASIC in Personal Computing. Plus the fact that thousands of engineers already knew BASIC from their work with on line systems at that time, the mid 70s. Yes, C was in existence then, but not as a piratical get-the-job-done tool. It is a horrible application language. Still is.

      2x3i5x



        Expert
      • Thanked: 134
      • Computer: Specs
      • Experience: Familiar
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #11 on: July 04, 2010, 06:36:54 PM »
      It is a horrible application language. Still is.

      So C is a horrible language is it? Why is it still popular? Or should we just move on with C++ and it would be ok again?

      Fleexy



        Intermediate

      • OW NEXT TIME I SHOULD TURN IT OFF BEFORE SERVICING
      • Thanked: 2
        • Yes
        • Yes
      • Experience: Experienced
      • OS: Windows XP
      Re: how i can be a programmer
      « Reply #12 on: July 04, 2010, 07:03:59 PM »
      The reason I don't use C* (* as in wildcard) is because I don't want to mess up my system by directly accessing memory or whatever.
      I love .NET!

      BC_Programmer


        Mastermind
      • Typing is no substitute for thinking.
      • Thanked: 1140
        • Yes
        • Yes
        • BC-Programming.com
      • Certifications: List
      • Computer: Specs
      • Experience: Beginner
      • OS: Windows 11
      Re: how i can be a programmer
      « Reply #13 on: July 04, 2010, 07:40:33 PM »
      So C is a horrible language is it?

      He never said that. he said it is a Horrible <application> Language. That is, for Application programs.


      Quote
      Why is it still popular?

      It's not. At least a dozen other languages find far more pervasive use in Application Development.

      Quote
      Or should we just move on with C++ and it would be ok again?

      Hmm, you seem to be considering that C++ is simply C with some extensions. this is not the case. First, C is a structured language.

      That is an Old axiom. Can it work? well, yes. But the structured programming paradigm doesn't really translate well when your looking at various threads trying to communicate back and forth, window messages being sent to and fro, and so forth.

       OOP, Object Oriented Programming, became popular not out of the blue, but as a direct result of the introduction of more sophisiticated GUIs. C++ is a rather hacky OOP language, and, strictly speaking, it isn't an object oriented language. if it were, you wouldn't be able to work <without> objects. It's an OOOP- Optionally Object Oriented. Most standard C code will still compile with a C++ compiler (well, actually, that's not true, it will always require a few changes, depending on wether it was designed to be ported to C++ as well as how old it is).

      Even now, we are starting to explore a area <beyond> Object Oriented- Functional Programming.

      C# is a Object Oriented Language. it <HAS> to have at least one object. you cannot decide "I don't want any objects". you need at least one.

      Now, with C# Version 3, it has also become a Optionally Functional Language as well.

      With C, you can "emulate" Object oriented-ness by using structures, and mapping your own Vtable- you create a structure that contains function pointers to the "methods" of the object, whose first parameter is a pointer to that structure, and you give that structure memory spaces for the member variables.

      In order to create an "Object" you would probably create a special function, which initializes all the function pointers in the structure (more conventionally called a V-Table (Virtual Function table)) to point to your definition of the function (usually just one). In each implementation, you manipulate the member variables of the passed in pointer.

      You would then call the methods something like this:

      result=pretendobject->vt->function(&pretendobject,param1,param2....) etc

      note that that is just <One> possible way of doing it, conventionally, the structure itself actually contains another nested structure that holds the vtable, (as shown here by the vt member of the main structure).

      This requires <pages> UPON PAGES of code to create, just a simply framework for this. with any semi-modern language, you get this free. And I haven't a clue how you would do functional programming in it.

      Now, to compare Object Oriented Programming and Functional Programming. Let's say- you had an array of variables. For simplicity's sake, we'll say they represent grayscale colour: We'll define that black is 0, and pure white is 10.0.


      First, our little program will increase the contrast- if the pixel is above five, we'll increase the value by 1.5 * (p – 5).  If the pixel is below 5, we'll decrease the value by (p – 5) * 1.5.  Further, we'll limit the range – a pure white pixel can't get any brighter and a pure black pixel can't get any darker.

      Second: brighten the "image"- we'll add 1.2 to every pixel, again capping the value at 10.0.



      Here it is: (C#, "object Oriented")

      Code: [Select]
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
       
      static class Program
      {
          private static double Limit(double pixel)
          {
              if (pixel > 10.0)
                  return 10.0;
              if (pixel < 0.0)
                  return 0.0;
              return pixel;
          }
       
          private static void Print(IEnumerable<double> pixels)
          {
              foreach (var p in pixels)
                  Console.Write(String.Format("{0:F2}", p).PadRight(6));
              Console.WriteLine();
          }
       
          public static void Main(string[] args)
          {
              double[] pixels = new[] { 3.0, 4.0, 6.0, 5.0, 7.0, 7.0, 6.0, 7.0, 8.0, 9.0 };
       
              Print(pixels);
       
              for (int i = 0; i < pixels.Length; ++i)
              {
                  if (pixels[i] > 5.0)
                      pixels[i] = Limit((pixels[i] - 5.0) * 1.5 + 5.0);
                  else
                      pixels[i] = Limit(5.0 - (5.0 - pixels[i]) * 1.5);
              }
       
              Print(pixels);
       
              for (int i = 0; i < pixels.Length; ++i)
                  pixels[i] = Limit(pixels[i] + 1.2);
       
              Print(pixels);
          }
      }
      output from this program is as follows:

      Code: [Select]
      3.00  4.00  6.00  5.00  7.00  7.00  6.00  7.00  8.00  9.00
      2.00  3.50  6.50  5.00  8.00  8.00  6.50  8.00  9.50  10.00
      3.20  4.70  7.70  6.20  9.20  9.20  7.70  9.20  10.00 10.00

      Now, the idea of Functional programming is often scoffed at by those used to object oriented programming. The basic idea is that you <never> "change" a variable, you only transform it. in C#, this can be accomplished using LINQ:



      Code: [Select]
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
       
      static class Program
      {
          private static double Limit(double pixel)
          {
              if (pixel > 10.0)
                  return 10.0;
              if (pixel < 0.0)
                  return 0.0;
              return pixel;
          }
       
          private static void Print(IEnumerable<double> pixels)
          {
              foreach (var p in pixels)
                  Console.Write(String.Format("{0:F2}", p).PadRight(6));
              Console.WriteLine();
          }
       
          public static void Main(string[] args)
          {
      double
      [] pixels = new[] { 3.0, 4.0, 6.0, 5.0, 7.0, 7.0, 6.0, 7.0, 8.0, 9.0 };
      Print(pixels);
      IEnumerable<double> query1 =
      from p in pixels
      select p > 5.0 ?
              Limit((p - 5.0) * 1.5 + 5.0) :
              Limit(5.0 - (5.0 - p) * 1.5);
       
      Print(query1);
       
      IEnumerable<double> query2 =
      from p in query1
      select Limit(p + 1.2);
       
      Print(query2);
         }



      You'll note that this version is much shorter. the output is <exactly the same>.

      Basically, what we have done is "automate", or build into the language as features, what we would normally do manually. C isn't object oriented, so you have to write the framework code yourself, and wire all the functions together manually. C++ and the C++ compiler does this automatically- method calls still accept a "this" pointer, but you cannot actually see it in your code- it is hidden. The significance of this is simple.

      You have to write less code.

      Now some people have it in their heads some strange notion that somehow writing more code means a program is better. This is quite the opposite. a larger program is unwieldly and hard to manage and change, and most importantly, the more code there is the more bugs there will be. Instead of writing a new object framework for every object type you need (which you <would> need to do, either that, or make some complicated set of macros), you use a tested one- such as the one C++ provides.

      In the same token, instead of writing your own implementation of transformations, you let the compiler do it. Many programmers consider this "unpure" and somehow think that this isn't really programming, but truly, there is no reason you should have to write a huge swathe of code just to define an object- the only reason anybody ever does this is because they sufer from hubris.

      They think they can do it better. But they can't. the implementations of C++ and other object oriented compilers (and script interpreters in the case of Object oriented (optional or not) script languages) have been refined. you aren't going to find a easy to fix problem with the framework it compiles in for you. Just as you are unlikely to find a bug in the implementation of LINQ; these are well tested language features that are there to be leveraged, not shunned as "impure" simply because they make your job easier.

      Using C for Application development is like building a car from teh ground up every time you need to drive it or building a house from scratch everytime you come home. you are doing more work then you need to do only in the purile self-indulgent attitude that you can do it "better". Sure, do it once, learn about the processes involved. But then leave it up the language tool.


      The reason I don't use C* (* as in wildcard) is because I don't want to mess up my system by directly accessing memory or whatever.

      The worst thing that happens is your program crashes. Nothing else is affected.

      You cannot (in windows or Linux, at least) access a certain memory address and say corrupt kernel memory or accidentally overwrite data that belongs to explorer- that is the very definition of "protected memory" - the memory of each process is protected from writes and reads by other processes. Of course, there are ways to do that if you need to, but my point is, you aren't going to accidentally write the code to do so.

      Also, since as you said, C* was a wildcard, that means that your saying the same things about C# (and a few other languages, like COBOL, heh). C# is a .NET managed language- which basically means that most of the memory management is done for you.

      With C, you have to worry about freeing and allocating memory. It's certainly something all programmers should learn about, but once you understand the concepts, writing the same bloody code over and over doesn't make you a better programmer, it makes you a repetitive one. With C++, you can use pointers and allocate and free manually, but you can also use Smart Pointers (actually, not sure if that's a language feature or some kind of MS extension). in C#, you cannot even get to a pointer without a few hoops, and if your willing to jump through those hoops, you're on your own.
      I was trying to dereference Null Pointers before it was cool.

      rthompson80819



        Specialist

        Thanked: 94
      • Experience: Experienced
      • OS: Windows 7
      Re: how i can be a programmer
      « Reply #14 on: July 04, 2010, 08:14:24 PM »
      but not as a piratical get-the-job-done tool. It is a horrible application language. Still is.

      I'm sure BC will correct me if I wrong, but if i remember right almost of DOS and a good part of the first several windows versions was written in C.

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #15 on: July 04, 2010, 08:35:19 PM »
      In real world programming C++ is used as part of a project. It is never a full solution to an application.
      That can also be said for Java, SQL, VBA and XML. And some other things that are not well know outside of the IT industry. The academic community ignores some of the day to day tools used in the real world. Forgot to mention Python. It is deep inside of some application programs. You don't see it, but it was used to develop part of that  application. Even TCL/TKis still used in some development, but not a full solution.
      A real programmer has to take a document written in plain English and turn it into a solution for some challenge in Business, Science, Technology or Government.
      The ability to pass n academic test and score big on classroom work does not make a real programmer. But it might help.

      BC_Programmer


        Mastermind
      • Typing is no substitute for thinking.
      • Thanked: 1140
        • Yes
        • Yes
        • BC-Programming.com
      • Certifications: List
      • Computer: Specs
      • Experience: Beginner
      • OS: Windows 11
      Re: how i can be a programmer
      « Reply #16 on: July 05, 2010, 12:59:48 PM »
      I'm sure BC will correct me if I wrong, but if i remember right almost of DOS and a good part of the first several windows versions was written in C.


      DOS was ASM (IIRC), but Windows was and still is mostly C.

      BUT, that's off-topic. recall, once again- he said <application> development tool. Windows is an Operating System, not an Application. the choices for writing Windows were pretty much either C or ASM, simply because of the low-level nature of an Operating system. Drivers, kernel mode, etc.

      The academic community ignores some of the day to day tools used in the real world.

      Yeah, I've always found that sort of humourous. academic circles play around in Scheme and Smalltalk, and those almost never  find their way into use outside of academia.
      I was trying to dereference Null Pointers before it was cool.

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      Re: how i can be a programmer
      « Reply #17 on: July 05, 2010, 01:53:41 PM »
      I'm sure BC will correct me if I wrong, but if i remember right almost of DOS and a good part of the first several windows versions was written in C.

      No. They both were written split-octal cuneiform on clay tablets. Later translated to paper tape.