I know structured programming and object oriented programming. It is C and C++. Also I know Android, java, html, css. What kind of program languages do you understand and what are your favorites program languages?
Programming logic is almost same in all programming languages. Only the syntax is different. Object-oriented programming is my favorite and I like to play C, C++, C# and Java. I also like PHP, HTML, CSS and JavasScript for web development.
PHP, Pearl. JAVA, C++, C# a lil bit, and VB a lil bit Used to work in ASP, but stopped when they changed it to asp.net I liked ASP very much though... But didn't want to learn a whole new programming language just to upgrade my software.
I was about to say, it's hard to be fluent in a language when you can't even spell it's name... Hopefully that was just something like autocorrect being a douche. As to the OP's question; "Understand" is an interesting choice of word, as there are several I know that I really just don't "get". I started out programming back in '77 with a Cosmac Elf... so I know RCA 1802 machine language. Over the decade that followed I mastered a variety of machine languages including Z80, 6502, 6809 and of course, 8086/8088. Along that way I also learned a variety of higher level languages like C, Pascal, CoBol, DIBOL, Fortran, Smalltalk, ADA... By the mid 1980's I was making a decent chunk of change by taking existing software on mainframes and making it faster/more reliable for a variety of clients. Much of this was done automatically as for the most part the easiest way to speed up a lot of early mainframe software was to delete comments. Back then programmers were usually paid "by the K-LoC" or per thousand lines of code, which led to most of the sleazeball shits -- who were duping people into still using underpowered mainframes in an age where I had a more powerful machine at home that fit on a desk -- into padding out their code with excess pointless comments, redundant logic (like checking the same condition multiple times instead of using else) and so forth. It made taking really crappy performing code and making it sing quite simple if you had any clue what you were doing. It's also why when I see that type of code being made in languages today I'm somewhat less than friendly on the topic. See the mouth breathing idiotic halfwit bullshit like jQuery, bootstrap, LESS, SASS, OOCSS, blueprint, YUI, mootools... By early 1990's I was working with databases a good deal, mostly in DOS but also distributed via Novell Netware -- dBase and Paradox being the big two of the time, with most of what I built (including a double entry accounting system for mortuaries that's STILL in use with several dozen places today some two plus decades later) having been made in Borland Paradox using their in-built scripting language. Since that time I've learned PHP, JavaScript, and while I'm no master at them I can fake VB, C#, Ruby and Python in a pinch... in the traditional "I'm no expert, but I can fake one on the Internet" way. But "understand"? I don't GET C or C syntax. I never understood how this needlessly pointelessly complex and convoluted language that BY DESIGN was created to create buggy code became not only popular, but the model on which 80% of other languages is now based. There's a reason I call C++ "let's shove objects into it any old way" and PHP/JavaScript/Java "C with a slap of whitewash". I'm pretty much 100% convinced that this: http://www.gnu.org/fun/jokes/unix-hoax.html Is NOT actually a joke. As I've said more than a few times I'd sooner hand assemble 8k of Z80 machine language than try to debug 100 lines of C code. But considering I'm still writing games for DOS in machine language and pascal for the original IBM 5150 PC I may have a slightly different perspective on things. Despite having been knee deep in the computer scene since 1977 it was at least five or six years before I ever even saw a C compiler and another four or five years before I ever had one that could actually do anything USEFUL. (Borland C). Even then, there was nothing it could do I couldn't do in MASM, TASM or Turbo Pascal so... C wasn't it. It's like Unix and posixisms, what was jokingly referred to in the '80's and early '90's as "You had to go to college to use something that stupid" -- when it's so needlessly and pointlessly cryptic and user unfriendly you are making MS-DOS look good, there's something WRONG there. But I also used dozens of different disk operating systems BEFORE "DOS" went from meaning any standalone disk management software to being synonymous with PC-DOS or MS-DOS. TRS-DOS, DOSPLUS, NEWDOS80, CP/M, LDOS -- there were a lot of different OS for different platforms; in hobbyist circles it became known as the "dir/ls divide". People who were big iron university types were posix / unix / "LS" and the people actually changing the world with the microcomputer revolution were CP/M / DOS / "dir" oriented. Which is the laugh, if you had asked 1000 computer experts in 1993 about the future of unix, they'd have told you it was dead. Cute that one man making a free work-alike dragged it out of the "dead and buried" status single-handedly. I STILL don't entirely get the appeal of it -- but that's because it was a good fifteen to twenty years of using computers before I even had to deal with it on a regular basis; my reaction being "this really does feel like a parody of 1950's computing". As to my favorite, that remains object Pascal and/or Modula. There's an old series of jokes about "shooting yourself in the foot" with programming languages, and the punch line for Pascal is "The compiler won't let you shoot yourself in the foot". EVERY sensible decision needed for a secure relyable "If it compiles, it's gonna be good" is there -- including some things that when sent to any microprocessor is likely to make it compile AND run faster. Predeclaration of variables, strict typecasting, run length strings instead of zero termination, memory protection models through range-checking... it's all there -- made all the better by the use of actual words like "begin" and "end" instead of cryptic symbols and useless abbreviations/acronyms. But of course, that might mean you have to type an extra five characters per line -- oh noes, notz thats. OF course when you say Pascal you get the "isn't that dead" reaction, with people saying "nothing meaningful is written in that anymore" attitude. Because of course Skype, winrar, winzip, TeX, Nero burning Rom, InnoSetup, Installaware, Panda AV, Spybot Search and Destroy, Total Commander, CloneDVD, DipTrace, Jotta Backup -- not meaningful at all. Hell, even a steaming pile of crap I can't stand -- Dreamweaver -- was created with Delphi. For those of you who don't know, Delphi is just "Visual Object Pascal". Much less how many people are writing programs in xCode using Pascal, since that WAS the language of choice pre OSX on Macs. Even M$ Windows prior to version 3.0 was written in Pascal; part of why 3.0 wasn't the most stable even compared to 3.1, was the first attempt to port it over to C... and JUST to make it harder, they kept the Pascal calling conventions! Which is why to this day how variables are passed on the stack and how strings are stored in windows are handled Pascal-style instead of C-style.
I have dabbled with 6502 machine language one byte at a time (inserting a byte meant re-typing EVERY FOLLOWING byte - what a pain!), Apple BASIC, 6502 Assembler using the Merlin assembler, HTML, Javascript, FoxPro, and bits and pieces of several other languages like 8086, etc. Currently most of my programming is done using FoxPro, but my favorite is 6502 Assembler using Merlin even though it has been over 20 years since I have written 6502 code. If I can ever find the time, I need to expand the FoxPro Foxtools library, probably in C, to make it possible for FoxPro code to access the internet.
You deal with CC65 and it's associated assembler "ca65" at all? It's kind of cute as it gives you a window or linux command line assembler for creating 6502 binaries. Was originally made for the Atari systems, but can target Apple II and Commodore 64/128/minus 60 quite easily. My still at release candidate likely to stay there (thanks to the C64 "scene" being a bunch of dicks) was built with it -- hefty mix of C and 6502 assembler. For example: ; playfieldBlitter.asm ; quickly output a RLE encoded playfield bitmap ; by Jason M. Knight, October 2012 .export _playfieldBlitter .importzp ptr1, ptr2, tmp1 .include "memoryMapDefines.asm" ; void* playfieldBlitter(void); _playfieldBlitter: lda #<playfield sta ptr1 lda #>playfield sta ptr1+1 lda #<vidBitmap sta ptr2 lda #>vidBitmap sta ptr2+1 nextData: ldy #0 lda (ptr1),y bmi loopset ; negative means it's a run length encode ; not negative, sta twice since it's 100px tall blitted to 200px sta (ptr2),y iny sta (ptr2),y lda #2 jmp updatePointers ; otherwise we're outputting multiple bytes the same loopset: and #$7F ; strip off negative bit beq done ; if negative set with zero length, end of data asl ; times two since it's 100px tall blitted to 200px sta tmp1 ; save it for just a sec while we pull our value inc ptr1 bne noCarryPtr1 inc ptr1+1 noCarryPtr1: lda (ptr1),y ldy tmp1 loopMulti: dey sta (ptr2),y bne loopMulti ; long runs will be blazingly fast lda tmp1 updatePointers: clc adc ptr2 sta ptr2 bcc noCarryPtr2 carryPtr2: inc ptr2+1 noCarryPtr2: inc ptr1 bne nextData inc ptr1+1 jmp nextData done: rts Code (markup): Fun stuff. Oh, and you think one byte at a time sucks, try one BIT at a time. That was the user interface on my ELF. Switch one up, set the address on the 8 switches, press the button. Switch one down, set the value on the next 8 switches, press the button. Lather, rinse, repeat. Going to typing things in on a keyboard, BIG step up; more so when you had permanent storage something else the ELF lacked. You powered it off you were stuck entering your entire program again from scratch one bit at a time. But, at least thanks to my learning RCA 1802 machine language on the Elf, I'm one of the few surviving people qualified to write code for the Galileo spacecraft and a hefty chunk of satellites still in orbit. That whole 'We can make it in SoS" (Silicon on Sapphire) meaning despite its age, it's still a better choice in a lot of space applications than more modern chips since it shakes off radiation and external electrical surges that would cripple many modern chips -- even ones that are allegedly "hardened' against such things. I'm still waiting for them to call me up like NASA did Clint Eastwood. What the hell is my code doing on a Russian satellite?
Nope. Never heard of it. I started coding in 1980 on an Apple II+ and have generally avoided anything not Apple, especially the MS trash (too many leaks, too many security issues, too many convoluted ways of doing things). I did do some coding on a TRaSh 80 once, but never never again. Been a long time since I saw any 6502 assembly code, but sure is familiar. Never had the honor of doing one bit at a time. And sure glad I did not have to do it. One byte at a time was bad enough.
I must confess... I have a love affair with PHP. PHP is easy to learn and by far the most popular Web development language.
That's a bit vague -- what TYPE of microcontroller? Old School intel 8051 or RCA1802? Microprocessors that are also used in the controller industry like the Z80 or 6502? Semi modern lightweight devices like AVR or PIC? the new low voltage ARM's that are slowly making their way into Arduino style form factors? "Microcontroller" is not a language, it's a type of processor typically used for motor control or input/output processing. Every single one of them has a different machine language under the hood. Though thanks to the hobbyist industry AVR and ARM both have nice C++ interfaces through the Arduino libraries; but given their limited power (typically 80mhz or less for ARM, 8mhz or less for AVR or PIC) you often still have to drop to machine language to squeeze those last few drops of processing time out of them.
I like that, mirrors my own thoughts about it. There are a LOT of things I dislike, or would change if I could -- but at the same time it's so well documented and it's so easy to find knowledgeable help with it, that every time I try something else I end up running and screaming back to PHP. But I'm ALL about good documentation, and php.net has that in spades.
I am familiar with C, C++,PHP and several scripting languages like VRML. but the language i cherish above as to be JAVA once i started learning to code in JAVA there was no stoping me. I might not be an expert yet but i am confident everyday i am edging closer to becoming one. I have also began lessons in Python due to the praise it is getting so far so good, i hope Python is just as good or even better than JAVA.
html, css, javascript, ruby As far as mastered html and css are the only ones i feel i know front to back. Right now I'm really loving javascript/node