Got Questions? Get Answers.
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Simplicity: Matlab vs. Java vs. C#

Subject: Simplicity: Matlab vs. Java vs. C#

From: Mikhail

Date: 13 Apr, 2009 18:15:23

Message: 1 of 9

..continuing my discussion about various data types in Matlab I would add (read upper case as italic):

3.9 GLOBAL and PERSISTENT variable attributes
3.10 PRIVATE folders
3.11 @TYPE folders

Conclusion: the complexity in Matlab is "dispersed" through different places, concepts and techniques. This is the opposite of simplicity -> beauty.

Another observation: Matlab is born in the same decade, 70's as National Instruments (NI). NI's business is "virtual instrumentation", i.e. emulation of instruments on PC (Mac). Similarly Matlab can be viewed as AN EMULATION OF POCKET CALCULATOR ON PC.

Conceptually matlab shows its age. If I could give a "face" to matlab then it would be this one: http://www.flickr.com/photos/orinrobertjohn/13068719/

Subject: Simplicity: Matlab vs. Java vs. C#

From: Chaos

Date: 13 Apr, 2009 19:27:00

Message: 2 of 9

Mikhail <razum@gmx.com> wrote in message <28361253.32701.1239646589662.JavaMail.jakarta@nitrogen.mathforum.org>...
> ..continuing my discussion about various data types in Matlab I would add (read upper case as italic):
>
> 3.9 GLOBAL and PERSISTENT variable attributes
> 3.10 PRIVATE folders
> 3.11 @TYPE folders
>
> Conclusion: the complexity in Matlab is "dispersed" through different places, concepts and techniques. This is the opposite of simplicity -> beauty.
>
> Another observation: Matlab is born in the same decade, 70's as National Instruments (NI). NI's business is "virtual instrumentation", i.e. emulation of instruments on PC (Mac). Similarly Matlab can be viewed as AN EMULATION OF POCKET CALCULATOR ON PC.
>
> Conceptually matlab shows its age. If I could give a "face" to matlab then it would be this one: http://www.flickr.com/photos/orinrobertjohn/13068719/

ha ha that's funny. there are private folders just put @single or @mystuff whatever. globals are easy, top of code global temp_dir; temp_dir='c:\junk';

since i'm not getting answers to my simple posts, i'm going to blast them as well.

it took matlab forever to implement any kind of multi-threading, multi-cpu version and it is still a 'kluge'. the only version of Matlab i've ever worked on that ran really well was on a multiple-processor IRIX supercomputer owned by US govt. Matlab refused to support it after version 5, pissing off of lots people. we were stuck hacking old code because Matlab couldn't get their threading or architecture right. they bitched and complained there was no market, even when US govt was feeding them millions. what BS. A real lack of vision.

I only do quick and dirty prototyping in Matlab, when push comes to shove, old f77/f90 does the trick every time.

i wouldn't be surprised if in the future NI and Matlab combined and laid off a few hundred people. Matlab HW drivers are severely lacking, while NI's computational aspects are a joke. you spend more time wiring then actually getting to any code.

the whole java implementation and opengl bugs are a big pisser. i still revert back to -nojvm all the time, as java is a resource and memory hog, doesn't trash collect enough, etc.

if you can hack code from the command line, you don't know shit.

Subject: Simplicity: Matlab vs. Java vs. C#

From: Chaos

Date: 13 Apr, 2009 21:40:17

Message: 3 of 9

"Chaos" <rothko.fan@gmail.com> wrote in message

> if you can hack code from the command line, you don't know shit.

typo

 if you can't hack code from the command line, you don't know shit.

Subject: Simplicity: Matlab vs. Java vs. C#

From: Mikhail

Date: 27 Apr, 2009 19:34:16

Message: 4 of 9

.. it seems that my original message was deleted, so I have to re-post it.

posted on Apr 2
---------------------------------------------------------

After some thinking inspired by Yair's submission to Matlab Central "UISplitPane"

http://www.mathworks.com/matlabcentral/fileexchange/23073

and its discussion:

http://undocumentedmatlab.com/
http://blogs.mathworks.com/pick/

I got aware that matlab is actually NOT the simplest programming language language, at least regarding its type system.

1. in C# we have objects, either value objects, or reference objects, there are some subtle differences but basically they are handled in the same way.

2. in Java we have objects and primitives, their handling is dinsinct but is still consistent because they were part of the language from the beginning on. (Actually diving into java history primitives were added allegedly later in development only after concluding that otherwise JVM would be too slow)

3. here comes matlab. Excluding primitives (doubles) and arrays (cell arrays) we have:
3.1 structures
3.2 handles
3.2.1 scenario: handles->UserData
3.2.2 scenario: getappdata(handle)
3.3 reference object emulation with closures
3.4 Java and COM objects
3.5 old-style classes
3.6 new-style classes
3.7 undocumented schema.prop functionality
3.8 ... something-still-I-am-not-aware-of-because-Yair-has-yet-not-discovered-and-used

Each of this types has its pros and contras. We have to use at least 3.2-3.4 for non-trivial tasks like decent gui and reusable components. But it is just too much and it makes matlab UGLY!!!

So im my opinion matlab is the least powerfull and the most complex language regarding its type system. I know, it is also the oldest language from all presented above.

Subject: Simplicity: Matlab vs. Java vs. C#

From: Kenneth Eaton

Date: 27 Apr, 2009 20:22:02

Message: 5 of 9

Mikhail <razum@gmx.com> wrote in message <30726555.27296.1240860886883.JavaMail.jakarta@nitrogen.mathforum.org>...
> .. it seems that my original message was deleted, so I have to re-post it.
>
> (paraphrasing...) blah blah blah I don't like MATLAB blah blah blah...
>

Stick with me here, because this may be a really crazy and difficult-to-understand idea, but here goes...

If you don't like it, don't use it.

'Nuf said,
K

Subject: Simplicity: Matlab vs. Java vs. C#

From: Steve Amphlett

Date: 27 Apr, 2009 20:38:01

Message: 6 of 9

"Kenneth Eaton" <Kenneth.dot.Eaton@cchmc.dot.org> wrote in message <gt545a$lac$1@fred.mathworks.com>...
> Mikhail <razum@gmx.com> wrote in message <30726555.27296.1240860886883.JavaMail.jakarta@nitrogen.mathforum.org>...
> > .. it seems that my original message was deleted, so I have to re-post it.
> >
> > (paraphrasing...) blah blah blah I don't like MATLAB blah blah blah...
> >
>
> Stick with me here, because this may be a really crazy and difficult-to-understand idea, but here goes...
>
> If you don't like it, don't use it.
>
> 'Nuf said,
> K

Funny and so true. I was thinking of posting something similar.

Subject: Simplicity: Matlab vs. Java vs. C#

From: Yair Altman

Date: 27 Apr, 2009 21:17:00

Message: 7 of 9

Thanks for the compliments Mikhail. While agreeing with some of what you say about complexity, I disagree with you that it's a Matlab drawback. I think this is actually only of the beauties in the Matlab environment, that has evolved over the past two decades while not lagging too far behind on important new technologies. This is not something you see often in a 20+ year-old programming language (ever tried interfacing C or Fortran-code with dot-net assemblies? or Java? or COM/ActiveX? or OpenGL? or...). The fact that Matlab has done so while keeping a relatively consistent interface (get/set functions, the "handle" concept etc.) is a remarkable achievement for TMW programmers, if you ask me. And the fact that this 20+ year-old alter-kocker of a language is able to do so with an active community of a million programmers is another remarkable achievement.

Matlab's apparent complexity is perhaps less beautiful than Java/C# which were pre-conceived with many of these concepts well-integrated. But even Java and C# have made significant reworks in their follow-on releases. For example, ever tried programming using the old Java-AWT lately? or in C# 1.1? If you work with the latest releases you'd know that it would be hell to go back. And yet you could, for backward compatibility reasons - does this make C#/Java more "complex" and thus less beautiful? No - only more powerful because of the extra options it gives you.

Matlab can be a simple RAD prototyping tool, or a powerful programming language. You don't need to learn any of the complicated stuff to do productive work in Matlab. You don't really have this option in Java/C#.

This is not to say Matlab does not have its limitations or things it could simplify/unify. In my posts of undocumented stuff I often point to such programming 'shortcuts'. Just don't think of them as adding complexity, but as adding power tools that you never knew existed.

You all know how I love the undocumented Matlab stuff, but I also have experience in many other environments. I like Matlab the best because of its ease of use and easy learning curve all almost without sacrificing potential programming power.

Yair Altman
http://UndocumentedMatlab.com
 
(sorry for the ramble... - had to get it off my chest...)

Subject: Simplicity: Matlab vs. Java vs. C#

From: Mikhail

Date: 27 Apr, 2009 21:18:13

Message: 8 of 9

I used Matlab a lot in the university. Since my graduation 5 years ago, I have a full time job as "software developer", well, using matlab. We develop quite complex software, primarly with Matlab. As you probalby know every job has many different aspects, some are positive and others are negative.

I my case almost all aspects in the job are still positive. But as time passed I became very disillusioned with matlab. But after hundreds of thousands line of Matlab code and with SciPy and NumPy available we are "prisoners" of matlab, we just have to continue to (mis)use it.

You are probably an enginner or you are having a comfortable life in the university with your pet projects and for you matlab is just OK the way it is. But belive me, matlab is just a little bit more then a programmable pocket calculator compared to the "true" informatics, I do not mean assembler but Python/Java/C#.

Subject: Simplicity: Matlab vs. Java vs. C#

From: Mikhail

Date: 27 Apr, 2009 21:29:56

Message: 9 of 9

On Apr 27, 11:17=A0pm, "Yair Altman" <altmany...@gmailDEL.comDEL> wrote:
> Thanks for the compliments Mikhail. While agreeing with some of what you =
say about complexity, I disagree with you that it's a Matlab drawback. I th=
ink this is actually only of the beauties in the Matlab environment, that h=
as evolved over the past two decades while not lagging too far behind on im=
portant new technologies. This is not something you see often in a 20+ year=
-old programming language (ever tried interfacing C or Fortran-code with do=
t-net assemblies? or Java? or COM/ActiveX? or OpenGL? or...). The fact that=
 Matlab has done so while keeping a relatively consistent interface (get/se=
t functions, the "handle" concept etc.) is a remarkable achievement for TMW=
 programmers, if you ask me. And the fact that this 20+ year-old alter-kock=
er of a language is able to do so with an active community of a million pro=
grammers is another remarkable achievement.
>
> Matlab's apparent complexity is perhaps less beautiful than Java/C# which=
 were pre-conceived with many of these concepts well-integrated. But even J=
ava and C# have made significant reworks in their follow-on releases. For e=
xample, ever tried programming using the old Java-AWT lately? or in C# 1.1?=
 If you work with the latest releases you'd know that it would be hell to g=
o back. And yet you could, for backward compatibility reasons - does this m=
ake C#/Java more "complex" and thus less beautiful? No - only more powerful=
 because of the extra options it gives you.
>
> Matlab can be a simple RAD prototyping tool, or a powerful programming la=
nguage. You don't need to learn any of the complicated stuff to do producti=
ve work in Matlab. You don't really have this option in Java/C#.
>
> This is not to say Matlab does not have its limitations or things it coul=
d simplify/unify. In my posts of undocumented stuff I often point to such p=
rogramming 'shortcuts'. Just don't think of them as adding complexity, but =
as adding power tools that you never knew existed.
>
> You all know how I love the undocumented Matlab stuff, but I also have ex=
perience in many other environments. I like Matlab the best because of its =
ease of use and easy learning curve all almost without sacrificing potentia=
l programming power.
>
> Yair Altmanhttp://UndocumentedMatlab.com
>
> (sorry for the ramble... - had to get it off my chest...)

Dear Yair,

my last message was an answer to Steve and Kenneth. It seems that
Mathforum and Googe Groups are not synchronized.

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us