Go to Post Water game. - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rating: Thread Rating: 2 votes, 5.00 average. Display Modes
  #31   Spotlight this post!  
Unread 11-06-2003, 12:53
Alfred Thompson's Avatar
Alfred Thompson Alfred Thompson is offline
Adult troublemaker
FRC #0811
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Danville, NH
Posts: 254
Alfred Thompson has a spectacular aura aboutAlfred Thompson has a spectacular aura about
Send a message via AIM to Alfred Thompson
<quote>
As for C#, it is very similar to Java. Most of the changes are purely syntactical sugar. While it may have been released to a standards body, the key part of the language, the class libraries, is still proprietary and very much tied to the Windows Operating System (WinForms being the main culprit). C# was designed with minimal portability in mind. Unlike Java, it is not write once, run anywhere. I'd be very surprised to see a change to a C# based micro-controller if only because I don't think any exist (can anyone correct me here?).
<end quote>

Actually C# was designed for portability. You can run it on Windows, Mac OS X and FreeBSD already and people are working on a Linux version. This does include a lot of the class libraries, though not all of the WinForms stuff. But it's still pretty powerful and less proprietary then Java. And of course you can write a program once and run it on your laptop, your cell phone, your PDA and a host of other small devices. I love the PDA emulator for testing C# PDA programs using Visual Studio .NET BTW. It's been a lot of fun to play with. Hopefully I'll have a PDA soon but I can still program for it without one. In any case the .NET framework was designed from the ground up to be portable across hardware platforms and form factors.

Syntactic sugar being the only differences from Java? I don't think so. For example you can not overload operators in Java but you can in C#. And then there is the whole notion of wrapper classes for Java that you have no need for in C#. Java doesn't treat everything as an object and C# does. That's a pretty big deal in my opinion. That's just the tip of the iceberg too.

I don't know of a C# microprocessor yet but one day soon I have hopes. Just my opinion not based on anything I know.
  #32   Spotlight this post!  
Unread 11-06-2003, 13:57
leo_singer's Avatar
leo_singer leo_singer is offline
Registered User
#1111 (Seahawks)
Team Role: Programmer
 
Join Date: Mar 2003
Rookie Year: 2003
Location: Edgewater, MD
Posts: 15
leo_singer is an unknown quantity at this point
Alright, I'll concede that C# is a viable option -- but as Mr. Thompson says there has never been a microcontroller based upon it.

Now, some more Java bashing.

I will not deny that Java is the only perfect language. Esperanto was perfect too. But the most useful languages do not necessarily have the most regular syntax. Because of the language's structure, Java compilers can static check for many mistakes that would become run-time errors in almost any other language. The trouble is that this same rigid style forbids the programmer to abbreviate, and often necessitates the circuitous style that epitomizes bad OOP. Java is C++ minus everything that has turned into one of the most widely used languages ever (second only to C). Java has no pointers, no multiple inheritence, none of the lower level features that make C and C++ so demonically fast.
  #33   Spotlight this post!  
Unread 11-06-2003, 16:50
Joe Matt's Avatar
Joe Matt Joe Matt is offline
Wake Up Get Up Get Out There
no team
 
Join Date: Dec 2001
Rookie Year: 2001
Location: CAK
Posts: 5,067
Joe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond reputeJoe Matt has a reputation beyond repute
I highly doubt that the language will be too far away from PBASIC. Many rookie and smaller teams won't have the man power or resources to code in a drastically different program.
__________________
  #34   Spotlight this post!  
Unread 11-06-2003, 18:35
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
I don't know about that. Afterall, for a rookie team, it wouldn't be a "drastically different program[ming language]." And anyway, with a decent default program included, and perhaps some nice comments it shouldn't be that hard to learn another language. It's just a problem of syntax afterall, and there's tons of resources available on the web.

I don't know why "smaller teams" necessarily imply a lack of programming knowledge. But for the teams that indeed lack a lot of such knowledge, they probably didn't use anything but relatively simple (or should I say basic) PBASIC. And remember that
Code:
x = y + z
is pretty much the same in any language (we won't get into the wonder that is Scheme).
  #35   Spotlight this post!  
Unread 11-06-2003, 18:38
Raven_Writer's Avatar
Raven_Writer Raven_Writer is offline
2004 Detroit & Pittsburgh Winners
AKA: Eric Hansen
FRC #0005 (RoboCards)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Melvindale
Posts: 1,549
Raven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really nice
Send a message via ICQ to Raven_Writer Send a message via AIM to Raven_Writer Send a message via MSN to Raven_Writer Send a message via Yahoo to Raven_Writer
There's this new language called "Omnicron" or something like that. It is like PBasic and C/++ in my opinion. It's quite good, and very easy to learn. Just search for Omnicron, and it should be somewhere (I can't find the link right now).
__________________
AIM: wisprmylastbreth
EMail: nightskywriter@gmail.com
Y!: synsoflife

"ai yoru ga" -- "Love the nights"
  #36   Spotlight this post!  
Unread 11-06-2003, 23:08
JLambert's Avatar
JLambert JLambert is offline
Registered User
#0151 (Wild Cards)
 
Join Date: Jan 2003
Location: Nashua, NH
Posts: 49
JLambert is an unknown quantity at this point
Send a message via ICQ to JLambert Send a message via AIM to JLambert Send a message via Yahoo to JLambert
Quote:
Originally posted by mtrawls
Code:
x = y + z
is pretty much the same in any language (we won't get into the wonder that is Scheme).
Or my personal favorite, prefix notation (Y = YZ+) which is apparently used in a couple lesser known forms of C++ and PASCAL.
__________________
Justin Lambert
02-03: Programmer Team #151
  #37   Spotlight this post!  
Unread 12-06-2003, 08:28
Unsung FIRST Hero
Matt Leese Matt Leese is offline
Been-In-FIRST-Too-Long
FRC #1438 (The Aztechs)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1998
Location: Long Beach, CA
Posts: 937
Matt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond repute
Send a message via AIM to Matt Leese
Java is much more portable than C#. I can run Java with GUI's on just about every operating system known to man. I've heard speculation of being able to run C# on cell-phone but have seen no evidence. Java is built-in to most of the higher end cell phones these days.

Now, as far as syntatic sugar goes, operator overloading is by definition syntatic sugar. All it adds is a way of writing code a bit more simply. It doesn't add anything new to the programming language. There also was a mention of the fact that C# treats all data types as objects whereas Java doesn't. This is true. Whether or not this is really a benefit is debatable. Java does, however, provide object wrappers for the primitive types which should provide all the featuers that C# does.

The main disadvantage to C# is that it's not a particularly mature language. It's also being pushed by a company that hasn't been known for cross-platform compatibility in the past.

As far as Java removing all the "good stuff," from C++, that's not really true at all. C++ have some features that can make it fast. It also has a lot of features that are very easy to screw up (multiple inheritance, operator overloading, pointers, memory management). Java was a language that was designed to be easy to program in. Often times, with the speed of today's computers, using Java is just as fast as C++.

I think the key factor in designing a program is picking the right language for the job. There is no one right language for everything so don't think there is.

As for (x y +), that's postfix notation. Writing something as (+ x y) is prefix notation. What we're used to (x + y) is called infix notation. Postfix and prefix are easy to parse which is why some languages (namely, LISP) as well as some calculators (HP's) use that method for input of mathematical expressions. Postfix is also sometimes referred to as Reverse Polish Notation but I believe that may be a bit derogatory.

Matt
  #38   Spotlight this post!  
Unread 12-06-2003, 09:55
leo_singer's Avatar
leo_singer leo_singer is offline
Registered User
#1111 (Seahawks)
Team Role: Programmer
 
Join Date: Mar 2003
Rookie Year: 2003
Location: Edgewater, MD
Posts: 15
leo_singer is an unknown quantity at this point
All in all...

OK. In review ...

Whatever language we end up with, it seems pretty well established that it'll be one of the following. I present this list in order of my estimation of likelihood.

1. Faster PBASIC
2. Another BASIC dialect
3. Java
4. C
5. C++

Let's compare them.

[P]BASIC:
+Easy to learn, a derivative of one of the oldest computer languages.
-Limiting in that it provides only for sequential programming (arguably a fitting model for some strategies), difficult to program in a structured fashion

Java:
+Object-oriented, maniacally so. Syntactically ideal, inherently prevents many kinds of logic errors. Portable, not too difficult to learn. Already popular.
-Restrictive syntax often complicates coding. Syntactic sugar counts for something.

C:
+Popular, ubiquitously so. Reliable, preposterously fast. Very common in microcontrollers. Enormous base of knowledge.
-Much more difficult than Java and BASIC. Generally compilers don't catch all the dumb errors Java does.

C++:
+Proven to be just about as reliable as C. OOPic like Java. Permits lower-level operations, like pointer operations and memory management. Plenty of syntactic sugar.
-A wee bit slower than C. The most complicated syntax of all four languages. Arguably the most difficult to learn.

As promising as many newer languages -- like Python, this Omnicron, and so forth -- may be, I don't give them any serious consideration as a candidates for FIRST. Plus it's rare to find such languages in embedded packages except, of course, in single-board Linux machines. And those can be expensive.
  #39   Spotlight this post!  
Unread 12-06-2003, 11:59
Raven_Writer's Avatar
Raven_Writer Raven_Writer is offline
2004 Detroit & Pittsburgh Winners
AKA: Eric Hansen
FRC #0005 (RoboCards)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Melvindale
Posts: 1,549
Raven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really nice
Send a message via ICQ to Raven_Writer Send a message via AIM to Raven_Writer Send a message via MSN to Raven_Writer Send a message via Yahoo to Raven_Writer
Re: All in all...

Quote:
Originally posted by leo_singer
...As promising as many newer languages -- like Python, this Omnicron, and so forth -- may be, I don't give them any serious consideration as a candidates for FIRST. Plus it's rare to find such languages in embedded packages except, of course, in single-board Linux machines. And those can be expensive.
Python is new(er)? I thought it was old...since Delphi is based off of it.

The link to Omicron is here: http://www.strandmark.com/omicron.shtml
__________________
AIM: wisprmylastbreth
EMail: nightskywriter@gmail.com
Y!: synsoflife

"ai yoru ga" -- "Love the nights"
  #40   Spotlight this post!  
Unread 12-06-2003, 15:41
Unsung FIRST Hero
Matt Leese Matt Leese is offline
Been-In-FIRST-Too-Long
FRC #1438 (The Aztechs)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1998
Location: Long Beach, CA
Posts: 937
Matt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond reputeMatt Leese has a reputation beyond repute
Send a message via AIM to Matt Leese
Re: Re: All in all...

Quote:
Originally posted by Raven_Writer
Python is new(er)? I thought it was old...since Delphi is based off of it.
Delphi (the programming language) is based off Pascal (it's Object Pascal). It is not based on Python. Python derives elements from a variety of languages but isn't based on anything. Where does this idea that Delphi is based on Python come from? I think Delphi is older than Python.

Matt
  #41   Spotlight this post!  
Unread 12-06-2003, 15:43
Raven_Writer's Avatar
Raven_Writer Raven_Writer is offline
2004 Detroit & Pittsburgh Winners
AKA: Eric Hansen
FRC #0005 (RoboCards)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Melvindale
Posts: 1,549
Raven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really nice
Send a message via ICQ to Raven_Writer Send a message via AIM to Raven_Writer Send a message via MSN to Raven_Writer Send a message via Yahoo to Raven_Writer
Re: Re: Re: All in all...

Quote:
Originally posted by Matt Leese
Delphi (the programming language) is based off Pascal (it's Object Pascal). It is not based on Python. Python derives elements from a variety of languages but isn't based on anything. Where does this idea that Delphi is based on Python come from? I think Delphi is older than Python.

Matt
I got Pascal and Python mixed up, sorry about that.
__________________
AIM: wisprmylastbreth
EMail: nightskywriter@gmail.com
Y!: synsoflife

"ai yoru ga" -- "Love the nights"
  #42   Spotlight this post!  
Unread 12-06-2003, 16:00
Alfred Thompson's Avatar
Alfred Thompson Alfred Thompson is offline
Adult troublemaker
FRC #0811
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Danville, NH
Posts: 254
Alfred Thompson has a spectacular aura aboutAlfred Thompson has a spectacular aura about
Send a message via AIM to Alfred Thompson
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.
  #43   Spotlight this post!  
Unread 12-06-2003, 17:06
Adam Y.'s Avatar
Adam Y. Adam Y. is offline
Adam Y.
no team (?????)
 
Join Date: Mar 2002
Location: Long Island
Posts: 1,979
Adam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to behold
Send a message via AIM to Adam Y.
Quote:
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.
I was reading a video game magazine and as it turns out a lot of games that are on cell phones are java based.
__________________
If either a public officer or any one else saw a person attempting to cross a bridge which had been ascertained to be unsafe, and there were no time to warn him of his danger, they might seize him and turn him back without any real infringement of his liberty; for liberty consists in doing what one desires, and he does not desire to fall into the river. -Mill
  #44   Spotlight this post!  
Unread 13-06-2003, 18:10
Scudzey's Avatar
Scudzey Scudzey is offline
Registered User
#0180 (S.P.A.M.)
 
Join Date: Apr 2002
Location: Stuart, Florida
Posts: 11
Scudzey is an unknown quantity at this point
Send a message via AIM to Scudzey
Quote:
Originally posted by Alfred Thompson
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.
Sorry to correct you on this one, but cellphones use the J2ME is used on most cell phones for their applications. You can read on here .
  #45   Spotlight this post!  
Unread 13-06-2003, 19:27
Alfred Thompson's Avatar
Alfred Thompson Alfred Thompson is offline
Adult troublemaker
FRC #0811
 
Join Date: Jan 2002
Rookie Year: 2001
Location: Danville, NH
Posts: 254
Alfred Thompson has a spectacular aura aboutAlfred Thompson has a spectacular aura about
Send a message via AIM to Alfred Thompson
I would remind you that "most" and "all" are not the same thing.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
What is your most prefered programming language? Hailfire Programming 156 19-01-2005 21:42
2004 Championship Eligibility Criteria!!! dez250 General Forum 214 28-12-2003 20:11
Championship Qualification - How you would've done it Ken Leung Championship Event 6 26-10-2003 14:00
Making heads or tails of the new announcement... Jessica Boucher General Forum 66 26-09-2001 11:13
TI programming using Z80 assembly language Jeff Wong Chit-Chat 1 07-06-2001 01:27


All times are GMT -5. The time now is 18:15.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi