Visit the U.S. Politics Online Discussion Forum Archives!

Sponsored by:

U.S. Politics Online: A Political Discussion Forum  

Bookmark Us! E-Mail DONATE NOW! Photo Gallery Document Archives Quiz! Register to Vote!!!
Go Back   U.S. Politics Online: A Political Discussion Forum > Information and Research > Science and Technology
Register Blogs FAQ Members List Calendar Mark Forums Read

Science and Technology A forum for discussion on Science and Technology

Reply
 
LinkBack Thread Tools Display Modes
  #16 (permalink)  
Old 02-19-2009
drgoodtrips's Avatar
Moderator
Less obsolete than ever

 
Member Since: Jun 2004
Location: Chicago
Posts: 22,911

   
Re: FIRST Robotics Competition

Quote:
Originally Posted by AJG View Post
Well, why did it take like 10 years before C++ became popular? Profressionals like to stick to a single language because 1. you must train all your programmers to learn a new language and 2. because all previous code was created in the language currently in use. Object Pascal looks verrrry different from C, C++, C#, Java, etc. (IMO they're all really variations of the same language) Once a language catches on businesses will cling to it.
lol... I design production software and delegate programming duties for a living, and you're instructing me on how professional programmers and organizations react to languages from the high school computer lab?

First, professional developers really do not like to stick to a particular language because doing so can cause them to become dated and leads to decreased job security. Also, programmers are often of the early adopter demographic and want whatever the latest and greatest doo-dad on the market is - especially developers that are relatively young. The reason that they wind up developing in the same language is generally a variation of a common theme: lack of time. Either the boss wants an application out the door yesterday, so you go with what's freshest in your mind, or you already have all of the development tools in place from a previous project, so you go with those, and so on and so forth. The language used by people who design software professionally often has little to nothing to do with what language they personally like. I absolutely hate Visual Basic, but I could easily put 5 solid years of experience with it on my resume. And, besides, any coder worth his salt that isn't straight out of college will have little trouble writing in any language you toss his way.

Second, the languages you list off as all being "basically the same" are most certainly not. C is nothing like C++ and Java, and C# is an odd hybrid. And, these languages are absolutely not interchangeable from a requirements gathering point of view. You would never use C# or Java for any realtime application, device driver programming, etc. You would not use C (or even C++) as the driving for behind web applications. Function dictates form here. How the language "looks" is irrelevant - if you understand computer science design principles, it doesn't matter if lines are ended with semi-colons or which arguments go in which order for loop statements.
__________________
"Government big enough to supply everything you need is big enough to take everything you have... The course of history shows that as a government grows, liberty decreases."

-Thomas Jefferson
Reply With Quote
  #17 (permalink)  
Old 02-19-2009
AJG's Avatar
AJG AJG is offline
Secretary of Defense
-(.::@o@::.)-

 
Member Since: Aug 2008
Location: Home of the Gay
Posts: 2,774

Massachusetts     United_States

Re: FIRST Robotics Competition

Quote:
Originally Posted by drgoodtrips View Post
lol... I design production software and delegate programming duties for a living, and you're instructing me on how professional programmers and organizations react to languages from the high school computer lab?
No, this information is from a software engineer. I asked him a question and this is what he told me.
__________________
"Hard work without talent is a shame, but talent without hard work is a tragedy." -fortune cookie
Reply With Quote
  #18 (permalink)  
Old 02-19-2009
drgoodtrips's Avatar
Moderator
Less obsolete than ever

 
Member Since: Jun 2004
Location: Chicago
Posts: 22,911

   
Re: FIRST Robotics Competition

Quote:
Originally Posted by AJG View Post
No, this information is from a software engineer. I asked him a question and this is what he told me.
Sounds like someone who is miffed because his boss is mandating use of a language that he doesn't like.
__________________
"Government big enough to supply everything you need is big enough to take everything you have... The course of history shows that as a government grows, liberty decreases."

-Thomas Jefferson
Reply With Quote
  #19 (permalink)  
Old 02-19-2009
AJG's Avatar
AJG AJG is offline
Secretary of Defense
-(.::@o@::.)-

 
Member Since: Aug 2008
Location: Home of the Gay
Posts: 2,774

Massachusetts     United_States

Re: FIRST Robotics Competition

Quote:
Originally Posted by drgoodtrips View Post
Second, the languages you list off as all being "basically the same" are most certainly not. C is nothing like C++ and Java, and C# is an odd hybrid. And, these languages are absolutely not interchangeable from a requirements gathering point of view. You would never use C# or Java for any realtime application, device driver programming, etc. You would not use C (or even C++) as the driving for behind web applications. Function dictates form here. How the language "looks" is irrelevant - if you understand computer science design principles, it doesn't matter if lines are ended with semi-colons or which arguments go in which order for loop statements.
Then perhaps it's just inexperience, because IMO the syntax for C, C++, C#, and Java are similar in many ways. Once you learn one, it's easier to learn the others. The same could be said for even C, since I found it took a lot less time for me to learn C++ and Java once I learned C (note I only learned the 2 languages this year and C the previous year so I'm horribly inexperienced and unqualified to instruct anyone). As I see it coding is 20% syntax and 80% logic. If the same logic can be used for all programming languages, and the languages' sytanx are comparable in many ways, why not call them similar?
__________________
"Hard work without talent is a shame, but talent without hard work is a tragedy." -fortune cookie
Reply With Quote
  #20 (permalink)  
Old 02-19-2009
AJG's Avatar
AJG AJG is offline
Secretary of Defense
-(.::@o@::.)-

 
Member Since: Aug 2008
Location: Home of the Gay
Posts: 2,774

Massachusetts     United_States

Re: FIRST Robotics Competition

Quote:
Originally Posted by drgoodtrips View Post
Sounds like someone who is miffed because his boss is mandating use of a language that he doesn't like.
It's probably true... I asked him a Java question once and he said he didn't like it for "religious reasons".

But I believe there was some truth in what he said. I forgot the exact conversation, but he told me that C++ only started to pick up around 1995 even though it was created years before. I asked him why it took years for people to start using it, and he told me programming languages in a workplace in general takes a long time to pick up. I asked him why C# is used and he said something like, "because it was created by microsoft".

It seems to me that unless you can afford a multi-million dollar campaign a programming language must suffer the test of time before it's ever appreciated by the business world.
__________________
"Hard work without talent is a shame, but talent without hard work is a tragedy." -fortune cookie
Reply With Quote
  #21 (permalink)  
Old 02-19-2009
drgoodtrips's Avatar
Moderator
Less obsolete than ever

 
Member Since: Jun 2004
Location: Chicago
Posts: 22,911

   
Re: FIRST Robotics Competition

Quote:
Originally Posted by AJG View Post
Then perhaps it's just inexperience, because IMO the syntax for C, C++, C#, and Java are similar in many ways. Once you learn one, it's easier to learn the others. The same could be said for even C, since I found it took a lot less time for me to learn C++ and Java once I learned C (note I only learned the 2 languages this year and C the previous year so I'm horribly inexperienced and unqualified to instruct anyone). As I see it coding is 20% syntax and 80% logic. If the same logic can be used for all programming languages, and the languages' sytanx are comparable in many ways, why not call them similar?
Well, you can't exactly use the same logic for any and all programming languages. Take C and C++, for example. C is a generally procedural language and good programming principles call for "structured programming" (i.e. cut any goto statements out of your code). C++ is an object oriented programming language that supports C code for the sake of reverse compatibility. This isn't really a good idea, but it was a necessary evil to convince people with code in the field that there may be some merit to changing languages to C++. But, consider that your entire approach to coding changes depending on whether something is procedural or object oriented. There's no real way in C to have classes that encapsulate methods - you could simulate it with function pointers and whatnot, but that can get ugly. So, if you're writing in C, you tend to create a lot of "utils" files that have standalone functions and port them all over the place. In C++, you would never do this - you organize your functions by what objects are doing what actions.

To be clear, a good rule of thumb with OOP is that you create classes that are nouns and give them methods that are verbs. If you create a "Dog" class, you would give it methods like "WagTail()" and "Fetch()". This applies in C++. In C, however, there is no way to create a Dog class because it would only be a structure with attributes. So you might actually create a file called "DogActions.c" and define those functions in that file. Then, you wouldn't define some kind of object "dog" but rather you would have some other file called "dog" that would reference the "DogActions" file as if it were just an extension of the calling file. In general, C code is broken up into individual files to make them more manageable to view, but it could usually be written in one gigantic main. C++ with good design precludes this.

And, I'd adjust your ratio of syntax and logic to have syntax be almost at nothing. The syntax of a language is almost irrelevant unless it's so arcane or counter-intuitive as to turn people off of the language. And, a lot of what you think of as 'syntax' is also probably defined libraries and packages that are ubiquitous enough to be considered part of the library, like the C standard library, for instance.
__________________
"Government big enough to supply everything you need is big enough to take everything you have... The course of history shows that as a government grows, liberty decreases."

-Thomas Jefferson
Reply With Quote
  #22 (permalink)  
Old 02-19-2009
drgoodtrips's Avatar
Moderator
Less obsolete than ever

 
Member Since: Jun 2004
Location: Chicago
Posts: 22,911

   
Re: FIRST Robotics Competition

Quote:
Originally Posted by AJG View Post
It's probably true... I asked him a Java question once and he said he didn't like it for "religious reasons".
That's the tag-line of a fanboy. There are a lot of talented programmers out there that are fanboys, but give me someone who'll use whatever gets the job done fastest and cheapest seven days per week and twice on Sundays.

Quote:
But I believe there was some truth in what he said. I forgot the exact conversation, but he told me that C++ only started to pick up around 1995 even though it was created years before. I asked him why it took years for people to start using it, and he told me programming languages in a workplace in general takes a long time to pick up. I asked him why C# is used and he said something like, "because it was created by microsoft".
Well, keep in mind that a programming language application (which is really what it is - programming languages that are compiled consist of lexors, parsers, logic processors and machine code output) is like any other. When it first comes out, there are bugs galore and all sorts of problems. Adopting a new programming language in a production environment would be like switching all of your work machines right now to the Windows 7 Beta or to the 'unstable' version of whatever Linux distribution you favor. Except, it's kind of worse. Can you imagine your frustration when writing code if you were tearing your hair out for an error for a week or two only to find that you were doing nothing wrong and the compiler just didn't work right? That's the kind of thing that would make you want to scrap your work and start over in a new language - how could you possibly trust it?

Quote:
It seems to me that unless you can afford a multi-million dollar campaign a programming language must suffer the test of time before it's ever appreciated by the business world.
I don't think that's true at all. PHP, free to all, took off like gangbusters. You have to put in your time as a programming language only if you're looking to displace something that does the exact same thing as one that already exists. Getting into an untapped market is far easier than elbowing in with cries of "me-too".
__________________
"Government big enough to supply everything you need is big enough to take everything you have... The course of history shows that as a government grows, liberty decreases."

-Thomas Jefferson
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 01:19 AM.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
Copyright © 2000 - 2009 U.S. Politics Online