FORTRAN
My love for programming began in my second year at the university. We did a course on FORTRAN 77 (outdated I know, but what could I do?). It fascinated me so much.
One day I decided to write my own sine function using the McClaurin series for sine. After I did, I tried finding the sine of 90 degrees which, everyone knows, is 1. I was surprised when I saw some strange numbers. I thought I had failed so I gave up.
A week later I was studying a math textbook then I discoverd the angle had to be in radians. I ran to my program and did the necessary modifications. I tried sin (90) again. The result was right. I was excited that I wrote a working program.
I never knew what I did then was just abt 0.000000001% (hopefully) of real programming.
Now I'm wondering if I could be a really good programmer while some colleagues of mine are already calling me a computer guru.
Comment: "Go for it if you love it"
Indeed if you love it you should go for it.
Hopefully you did research about the profession before deciding, so if this is what you love then all that stands between now and the day you are a great programmer is learning and practicing.
Of course, a positive and professional attitude are not necessary to mention since without those nobody is great at anything.
Comment: "nobody is great at anything"
I have to say it depends how you define greatness.
I think others will agree when I say there are people who lack a "positive and professional attitude" but due to their high skill in some area, are in respectable positions within organizations.
Are these people "great"? I would say they are great at producing results in a particular job position, even if they are not great coworkers.
Comment: This reminds me of my misspent university youth
I was a member of the computer lab "First Aid" squad. We were there to help users who could not figure out how to use the DEC terminals (they used wide green bar paper and communicated to the mainframe at a blistering 300 baud!) or had trouble with language features. We were not permitted to help the students with the actual lab assignments but many would try to entice us to help anyway. As a result, I got into the habit of checking before wasting time that could be better spent clearing the ever increasing line.
One evening a pretty, blond, young lady approached me. She was nearly in tears as she threw the listing on my desk, threw herself into the chair beside it, looked at me with her best pitiful expression, and blurted out, "Help..."
"Is it Logic or Syntax?" I asked.
Puzzled, she considered the question for a long moment then replied, "It's FORTRAN."
Comment: Took it as a course
Actually I'm an Electronics Engineering student. We were made to believe FORTRAN was the best language for engineering problems. Most of us had to agree because we had no previous programming experience.
At the end of the semester, I had developed some liking for programming and discovered that C++ was a better language (my opinion). When I took up a book on C++, I was nearly regretting why I had had no previous experience with programming.
Now my plan is that when I graduate, I will take a course in Visual C++ (or maybe VS.NET) and develop apps for electronic engineering applications.
Comment: Real Programming?
Many (most?) "real" programmers don't know what a McCalurin series is or, if they did, what to do with it. I suspect you are closer to being a "real" programmer than you think.
Comment: I think I'm a "real programmer"
and I have no idea what a McCalurin series is. I'm not expressing pride in ignorance, I simply have had no need for that knowledge.
In-depth knowledge of math is not required to be a programmer. I worked for 10 years on a business app that had over 20 million lines (I know, because I was assigned the task of running a tool to count them all). I rarely used math more complex than basic addition/subtraction/multiplication/division. That didn't prevent us from doing complex decision making with may use cases and exception processing.
As others have said, you've already shown you can do more than the basics of computing (I think displaying "hello world" is probably the most basic computing that can be done) and you like it. Go for it, and have fun while you are at it.
Comment: Math not required
I studied German, French, Spanish and NT Greek before studying COBOL, FORTRAN, BASIC, Assembler, LISP, SNOBOL, PL/1, Ada, C, and many others that I have forgotten about because once the semester was over, I didn't see them again.
Comment: Math? It all depends ...
- It all depends on where you want your career to go. I was in college when the first programmable calculators from HP came out. Some were desktops, but the really hot item was the handheld programmable calculator. I remember reading somewhere that HP had done research on using various polynomial series to find the ones that gave the fastest and most accurate answers for the handheld. That was a mathematical Big Thing back then.
- By programming your own solution to the McClaurin series what you really found out is that programming, in this case in FORTRAN, is a tool that you use to create other tools, in this case a routine to calculate sines. It was also an introduction to algorithms
- Now you need to decide if you want to be a maker of tools or a user of tools. Both types people are needed and valuable. Most anyone can learn to use a spreadsheet as a simple tool; some can use it as a power tool to solve complex problems; still fewer have the skills needed to create a spreadsheet program or its components.
- A final word: the best programmers are the ones that can look at a problem and, knowing both the softare and the hardware, quickly see the solution.
- One of the best programmers I ever knew programmed mostly in Assembler, both IBM 360/370 and Intel/Zilog for the 8080, Z80, and later microprocessors. He cut his teeth programming minicomputers with 8K (KB, not GB!). He had a list of IBM macros for standard functions that he carried from system to system. When he started on micros, he ported his IBM macros to the PC. He was impressed by the Zilog Z-80 Move Long instruction, and ported that as a macro to his IBM collection. To him, a Macro Assembler was a high-level language.
- Oh, yeah -- he's also a classically trained pianist, an avid fly fisherman, and has a rig in his basement firing range to check the muzzle velocity of his BB gun.
Comment: Thanks for sharing the first experience with programming
It's exciting to read about the people's experiences with programming when they talk of their first program. The exact same or similar things have happened to almost all who have ever tried to learn programming with the most widespread languages (at the time) like Fortran.
No doubt with an inclination toward programming and with practice, you'll become a great programmer. (All great programmers made their way like that.) I think what you did then was not that small a fraction of real programming. The McClaurin series requires the implementation of at least one loop iterating as many times as the number of terms of the series taken. You also used the I/O functions to display the result. I think you probably used some decision making also, to reduce the input angle to a smaller value that produces the same result. These three things (decision making, I/O, and looping) are still the backbones of most of the real world programs in one form or the other. In fact, sometimes I think looping is all for which computers are used - performing the same operation (with some changes - increments - in certain variables) over and over again. If there's no looping in a program, it can probably be done without a computer as well. But that is only my thinking. So what you did in your first program was, unknown to you, a considerable constitute of the whole of the real world programming, probably more than 50%.
That is of course when we look at programming from its roots as to what exactly it is and what it does overall. The subsequent developments based on the very basic constructs (such as looping) can be quite fascinating, and that is the beauty of computers!




Comment: Gotta love newbies!
As I read this post I was reminded of my first Unversity class in programming. It was indeed FORTRAN, at that time a highly advanced language with many scientific proponents and users.
Writing your first program is always a rush. Let the adrenaline fade for a few days and write osme other code before you decide programming is the direction of your life! But go for it if you love it!
Security is a concept not a product!