mathboy4life
Posts: 197
Joined: Fri Jan 08, 2016 7:29 pm

How does some one become a competent programmer?

Wed Apr 13, 2016 7:01 pm

Does a programmer need to know college level maths and have a high level of English language grammar skills?

User avatar
kusti8
Posts: 3439
Joined: Sat Dec 21, 2013 5:29 pm
Location: USA

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 7:25 pm

Depends on what you are doing. Honestly, you've raised so many threads about what language go learn etc., just do it! Learn Python.
There are 10 types of people: those who understand binary and those who don't.

mathboy4life
Posts: 197
Joined: Fri Jan 08, 2016 7:29 pm

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 7:33 pm

kusti8 wrote:Depends on what you are doing. Honestly, you've raised so many threads about what language go learn etc., just do it! Learn Python.
Please point to a thread I've said about "what language go learn etc".
Also i don't want to learn python as it is stupid with the communist indentation crap but as you could see in any of my threads you assumed you "have seen" you would know that I've been learning Perl and been doing regular expressions. I am just asking a question about " do i need a understanding of higher math and English language".
Last edited by mathboy4life on Wed Apr 13, 2016 7:35 pm, edited 1 time in total.

User avatar
rpdom
Posts: 16383
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 7:35 pm

mathboy4life wrote:Does a programmer need to know college level maths and have a high level of English language grammar skills?
I don't have either of those really. I've made a living out of being a programmer for years.

User avatar
MarkHaysHarris777
Posts: 1820
Joined: Mon Mar 23, 2015 7:39 am
Location: Rochester, MN
Contact: Website

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 7:50 pm

mathboy4life wrote:Does a programmer need to know college level maths and have a high level of English language grammar skills?
Yes.

Having said that, there are many good programmers (however we define that) who do not have high level maths nor are they going to be English authors anytime soon.

Having said that, if you get a computer science degree from Standford, Iowa State, MIT, or even the community college in Rochester Minnesota, you are going to be required to study and pass with proficiency Calculus, Linear Algebra, Statistics and Probability, and Differential Equations (and yes, you will be required to take English and learn to write papers in MLA format!)

Most business programming (application programming at IBM) does not require maths (beyond addition and subtraction). Programming at any large engineering firm is going to require maths and more maths... if you don't know maths forget about an engineering career in computer science in the 21st century; period.

Then you have my opinion; which is that maths is required for life! (mathboyforlife) Computer programming is a liberal art that everyone should know, understand, and practice... and that includes engineering and science maths. This is a somewhat new framework for thinking about life. Right now, we're behind the eight ball (in the UK and in the USA) and that is what we're trying to reverse with the RPF.

IMHO
marcus
:ugeek:

User avatar
PeterO
Posts: 5623
Joined: Sun Jul 22, 2012 4:14 pm

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 8:03 pm

mathboy4life wrote:
kusti8 wrote:Also i don't want to learn python as it is stupid with the communist indentation crap
You may be the worlds best programmer, but with an attitude like that no one will want to work with you or to hire you.

You also need to take heed of this : https://en.wikipedia.org/wiki/Law_of_the_instrument

A good programmer will use the best (*) language for the job at hand, regardless of any silly layout prejudice then may have.

PeterO

(*) In the real world this means the language that get the job done for minimal cost.
Discoverer of the PI2 XENON DEATH FLASH!
Interests: C,Python,PIC,Electronics,Ham Radio (G0DZB),1960s British Computers.
"The primary requirement (as we've always seen in your examples) is that the code is readable. " Dougie Lawson

User avatar
Douglas6
Posts: 4826
Joined: Sat Mar 16, 2013 5:34 am
Location: Chicago, IL

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 8:26 pm

Communist indentation? What the heck does that mean? Programming in general can seem a little fascist sometimes, but communist? Common ownership of the means of production? You'll need to think a little more clearly than that to be a competent programmer.

mathboy4life
Posts: 197
Joined: Fri Jan 08, 2016 7:29 pm

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 8:35 pm

Douglas6 wrote:Communist indentation? What the heck does that mean? Programming in general can seem a little fascist sometimes, but communist? Common ownership of the means of production? You'll need to think a little more clearly than that to be a competent programmer.
The word i was looking for was dictatorship but i was thinking about China when i wrote Communist.
"Communist of a production of work" meaning everyone has to have one style of the way they code in python.
Why cant I indent the way i want to indent?
Why have an ownership over me that tells me what I can and cannot do when I am coding?
You know how much pain it is trying to figuring out what is wrong with your code when the only problem is indentation?
I have no idea what the author of python was thinking. :?
What really made me not like python is when i was using "beautifulsoup" I had a hellacious agony time with using that and come to find out errors was happening because of indentation. I stay up days and nights hours on end. :cry:
Trust me i literally was crying trying to figure out what i was doing wrong :shock:

Candyjet
Posts: 56
Joined: Sun Jan 10, 2016 3:45 pm

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 9:05 pm

I stay up days, hours on end too.

User avatar
buja
Posts: 545
Joined: Wed Dec 31, 2014 8:21 am
Location: Netherlands

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 9:23 pm

I don't like the Python rules for indentation either, but you will find that every programming language has its own pros and cons.

In the real world a programmer will probably not choose the programming language himself, but deal with the language chosen by a teacher, manager, client or whoever. And if that happens, chances are you will have to work with the programming and formatting guidelines given to you by that same people. The Linux kernel people want to have the kernel C code formatted in a certain way, the GNU guys want their C code formatted in a different way. Just two examples.

I think a good programmer can adapt to these things by mastering more than one programming language. Other skills like mathematics and language are important too. It's not so much the mathematical skills that count, but the logic behind it and the way of thinking that goes with it. And language skills are important because you will need to read and understand a lot of documentation (manuals, specifications), recognize errors or contradictions in it, and maybe write some report or manual yourself every once in a while.

All of this has very little to do with dictatorship, but it is certainly true that if you want to get paid for your work, you'd better deliver what "they" ask.

stderr
Posts: 2178
Joined: Sat Dec 01, 2012 11:29 pm

Re: How does some one become a competent programmer?

Wed Apr 13, 2016 9:51 pm

mathboy4life wrote: when i wrote Communist. "Communist of a production of work" meaning everyone has to have one style of the way they code in python. Why cant I indent the way i want to indent?
After that comment, I conclude that python doesn't need mathboy4life, mathboy4life needs python. You should be learning python because it imposes form. Form exists to build something on, a lattice to hang the Christmas lights up. The greatest jump in the Creation wasn't making us, it was filling the void with structure. For Penance I sentence you to reading Ulysses including the steamy final chapter with all the run on sentences but only after first having read the Odyssey and the Aeneid. Later like a Raskolnikov returning from his time in Siberia, I release you to watch the Coen brothers film O Brother, Where Art Thou, from back when they were good.

See: https://en.wikipedia.org/wiki/Ulysses_% ... #Structure
https://en.wikipedia.org/wiki/Aeneid#Structure
https://en.wikipedia.org/wiki/Odyssey#Structure
https://en.wikipedia.org/wiki/O_Brother,_Where_Art_Thou
https://en.wikipedia.org/wiki/Crime_and ... #Structure

Slackware
Posts: 131
Joined: Mon Jan 18, 2016 3:45 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:12 am

Depends what you are programming. When I wrote my program to plot wing airfoil sections, I had to learn graduate aeronautical engineering. Took me six months to get my head around the math, but my first plot of a known wing section was perfect. Still haven't found the math for re-flexed airfoils to make flying wings.

But english, no. as long as you misspell the variable or function the same throughout the program it will work.
I learned pascal by typing in a star trek game. by the time I debugged the 30K+ errors I understood the language.
But I started with assebly, and fortran. My C book says PROPOSED ansi C standard.

But learn assembly, that way you get an understanding about what is under the hood, and WHY you have to do it one way and not the other. I couldn't trace the magnetic pulses under the drive head of the floppy disk without LOTS of medicinal help myself. But it was FASCINATING how the actual data is written and read from the media when you unleashed your mind with the medicine. Came in handy decades later reading raw radar stream data.

A good way to learn is a cd player. has user input, hardware access, multimedia functions.
I use Perl for pre-processing printer streams at work to handle irregularities from certain printers that get left in wrong modes now and then.
But source code for linux and it's programs are all available, download and open it to look.
You can't go wrong with O'Reily books. Pick the animal of the subject you want. My sendmail book looks like it has gone through a war, but everything about email is in their.

Slackware
Posts: 131
Joined: Mon Jan 18, 2016 3:45 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:20 am

kusti8 wrote:Depends on what you are doing. Honestly, you've raised so many threads about what language go learn etc., just do it! Learn Python.

I have nightmares when these trisisters get put in CPU's . ?10 how the heck do you program that?
Only thing I can think of would be a 3 option case statement in assembly. guilty, not guilty, and hillery.

rzusman
Posts: 347
Joined: Fri Jan 01, 2016 10:27 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:32 am

Slackware wrote:
kusti8 wrote:Depends on what you are doing. Honestly, you've raised so many threads about what language go learn etc., just do it! Learn Python.

I have nightmares when these trisisters get put in CPU's . ?10 how the heck do you program that?
Only thing I can think of would be a 3 option case statement in assembly. guilty, not guilty, and hillery.
What language is this?

Goraxium
Posts: 122
Joined: Tue Jan 26, 2016 1:42 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 4:43 am

mathboy4life wrote:Why cant I indent the way i want to indent?
Because there are general standards people expect you to follow, simply for the sake of readability and problem solving.

If you plan on becoming a programmer for a company, you won't get a choice as to how you indent. They will have their own standards, and you will have to conform.

Beyond that, mathematics and English do help with programming, but it's largely dependant on what you're doing. If most of the things you focus on are text / gui based, you're not likely to be using much mathematics, but people will have issues if you can't spell or use horrible grammar. Alternatively, if you ever jump into the world of 3D graphics, and take the time to understand how things work, you may be swamped with more math than you can handle. If you plan on hooking things up to a Pi, you'll at least need to understand the basics of how electricity works (which requires some basic understanding of math), otherwise you will fry something. In short: you don't need to be an absolute genius, but it's handy to have an understanding of both English and mathematics.

Beyond all of that, to be a good programmer, learning the differences between languages, and how to use a few different ones, will help you. As people have mentioned, different programming languages can be used for different things. If you need maximum processing speed, you can't go wrong by learning C/C++. If you want to get into web development, Javascript and PHP will be your friend (Javascript especially, if you do any Google coding for spreadsheets and forms). Learning how to interact with databases requires a bit of knowledge too. Python has the distinct advantage of being able to do everything on the fly. A good programmer will use all of the tools at their disposal.

User avatar
kusti8
Posts: 3439
Joined: Sat Dec 21, 2013 5:29 pm
Location: USA

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 10:52 am

mathboy4life wrote:
kusti8 wrote:Depends on what you are doing. Honestly, you've raised so many threads about what language go learn etc., just do it! Learn Python.
Please point to a thread I've said about "what language go learn etc".
Also i don't want to learn python as it is stupid with the communist indentation crap but as you could see in any of my threads you assumed you "have seen" you would know that I've been learning Perl and been doing regular expressions. I am just asking a question about " do i need a understanding of higher math and English language".
viewtopic.php?f=62&t=143479&p=948126
viewtopic.php?f=91&t=143312&p=946573
viewtopic.php?f=62&t=138982&p=922104#p922104
There are 10 types of people: those who understand binary and those who don't.

User avatar
RaTTuS
Posts: 10539
Joined: Tue Nov 29, 2011 11:12 am
Location: North West UK
Contact: Twitter YouTube

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 11:02 am

when you can program in all these
https://en.wikipedia.org/wiki/Esoteric_ ... g_language
you are competent ;)
How To ask Questions :- http://www.catb.org/esr/faqs/smart-questions.html
WARNING - some parts of this post may be erroneous YMMV

1QC43qbL5FySu2Pi51vGqKqxy3UiJgukSX
Covfefe

User avatar
kusti8
Posts: 3439
Joined: Sat Dec 21, 2013 5:29 pm
Location: USA

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 11:11 am

RaTTuS wrote:when you can program in all these
https://en.wikipedia.org/wiki/Esoteric_ ... g_language
you are competent ;)
Just saw this:
https://en.m.wikipedia.org/wiki/Malbolge
Hello world:

Code: Select all

 (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
There are 10 types of people: those who understand binary and those who don't.

jesus_malaga
Posts: 54
Joined: Sun Oct 18, 2015 6:15 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:17 pm

Programming is not a matter of maths or knowledge matters. It is related to a state of mind. To some sorts of brain capabilities the psycologist use to call "spatial imagination".

It simply is related to the ability of understand a complex problem or needed process and reduce it to a series of much simpler, ordered and related orders or instructions that one executed will solve the problem or accomplish the process. That's why we programmers use to be much more concerned and impressed on how things are solved rather than the final result.

Many people think they want to be a programmer because they like the result of the computer work. But a true programmer always focus in the fact of producing itself. A future programmer will not usually say "I would like to do something as nice as this" but "I do not mind a shit how nice is the result, but I would like to learn to do put this box to do something by myself".

Maths use to need same brain structures to be solved (that is... if you have a programmer mind, you probably will feel maths easily), and solving complex calculations has always been one of the areas where computer technology more helps, but programming is not maths itself.

You should think much more about how much did you like to play with small block construction games when you were a kid, or how hard it uses to be for you to solve a puzzle rather than thinking about your advanced maths or english skills. And if you have always been bad with lego constructions, you will never be a good programmer no matter how much maths, programming languages or english you study; and on the other side I could introduce you professional very good programmers that are unable to by hand process more complex maths than multiply two numbers, can't maintain a conversation in English, and learned almost everything they know about programming by testing themselves.

Regarding PERL indentation, forcing usage of something so important to make an understable code is probably one of the many "magics" of that language, and surely an important part of it success. Programming is the art of ordering, and being forced to "respect order" is one of the things programming minds we do appreciate. So if your problem with PERL is at that point... I sincerely doubt you have "that what you need to have".

User avatar
piglet
Posts: 913
Joined: Sat Aug 27, 2011 1:16 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:42 pm

How to become a competent programmer?

Learn to break down any problem into small enough pieces to deal with individually and then to address each piece in turn in a logical order. It's amazing how few supposedly trained programmers can do that.

When I get new graduates into my team I tell them that most things break things down logically into 3's. They never believe me. These are the general three things:

1) Stuff to to at the start
2) Stuff to do what you want to do
3) Stuff to do at the end

Then I tell them that number 2) normally breaks down into threes. After a while they get it.

Mathematics isn't always important to be a good programmer, but it might be critical to understand the problem you're trying to solve, to work out the algorithm you'll have to implement, and to know whether what you coded gives the correct result!

Programming language isn't as important the ability to think logically.

W. H. Heydt
Posts: 11680
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:55 pm

PeterO wrote: A good programmer will use the best (*) language for the job at hand, regardless of any silly layout prejudice then may have.

(*) In the real world this means the language that get the job done for minimal cost.
Or...the language that the particular shop uses (i.e. management says, "You will use 'language X' whether--in your judgment or not--'language X' is well adapted to the problem at hand or not).

On the topic generally...learn to solve problems. In the case of programmers specifically, that means picking up the tools and skills of systems analysis, even if informally. That makes the traditional difference between a coder ("here is a detailed description of what we want you to write") and a programmer ("here is what we want done; you figure out how to do it and then do so").

This is also part and parcel of understanding--in detail--how the OS and hardware actually do things. I once worked with someone who wrote very clean, sold code, but couldn't design his way out of a paper bag. He was writing a program that was going to write about 1 million unblocked, 12 byte records to disk. I was out of town, so my boss (with who I'd Had Words previously about stupid designs I was handed) sat him down and ran the math showing that he was going to incur 5 HOURS of rotational delay trying to run the program.

User avatar
MarkHaysHarris777
Posts: 1820
Joined: Mon Mar 23, 2015 7:39 am
Location: Rochester, MN
Contact: Website

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 3:58 pm

jesus_malaga wrote: You should think much more about how much did you like to play with small block construction games when you were a kid, ... if you have always been bad with lego constructions, you will never be a good programmer no matter how much maths, programming languages or english you study;
There is much of this that is profound truth. Another way to say it is, "if your favorite toy as a kid was Legos, and you were good at it, then you'll probably make a fine programmer" !

8-)

(I still have my Legos, I was the first generation of kids to own them, and from time to time I find an excuse to play with them... and by the way, we didn't have the fancy sets either [just blocks] )
marcus
:ugeek:

jesus_malaga
Posts: 54
Joined: Sun Oct 18, 2015 6:15 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 4:43 pm

MarkHaysHarris777 wrote:There is much of this that is profound truth. Another way to say it is, "if your favorite toy as a kid was Legos, and you were good at it, then you'll probably make a fine programmer" !

8-)

(I still have my Legos, I was the first generation of kids to own them, and from time to time I find an excuse to play with them... and by the way, we didn't have the fancy sets either [just blocks] )
It was basically an "ilustrative example". You could also say puzzles, the rubik's cube, Meccano, or even trying to put to work again that old granpa's clock :lol: :lol: :lol: :lol: Anything based on "reorder and create or put on working" ;)

(But yes... Lego is THE game. :mrgreen: )

User avatar
PeterO
Posts: 5623
Joined: Sun Jul 22, 2012 4:14 pm

Re: How does some one become a competent programmer?

Thu Apr 14, 2016 6:53 pm

W. H. Heydt wrote:
PeterO wrote: A good programmer will use the best (*) language for the job at hand, regardless of any silly layout prejudice then may have.

(*) In the real world this means the language that get the job done for minimal cost.
Or...the language that the particular shop uses (i.e. management says, "You will use 'language X' whether--in your judgment or not--'language X' is well adapted to the problem at hand or not).
Because the cost of having you go off and introduce your favourite new language into their existing code base would be huge. See, it all comes down to cost !

PeterO
Discoverer of the PI2 XENON DEATH FLASH!
Interests: C,Python,PIC,Electronics,Ham Radio (G0DZB),1960s British Computers.
"The primary requirement (as we've always seen in your examples) is that the code is readable. " Dougie Lawson

User avatar
RaTTuS
Posts: 10539
Joined: Tue Nov 29, 2011 11:12 am
Location: North West UK
Contact: Twitter YouTube

Re: How does some one become a competent programmer?

Fri Apr 15, 2016 9:07 am

How To ask Questions :- http://www.catb.org/esr/faqs/smart-questions.html
WARNING - some parts of this post may be erroneous YMMV

1QC43qbL5FySu2Pi51vGqKqxy3UiJgukSX
Covfefe

Return to “Beginners”