Thread Subject: C#? and Matlab? which one has future?

Subject: C#? and Matlab? which one has future?

From: mike

Date: 30 Mar, 2007 10:32:50

Message: 1 of 19

Previously, much of the reason I use matlab is because of its
graphics capabilities. The microsoft visual studio and C# (GDI+ in
particular) language change the situation gradually. I spent a lot of
time try to take advantage of both and tried very hard to combine
them together using Matlab's COM builder. Eventually, I give up.

After undersdanding more about C# framework, I found that C# and GDI+
provide tools I need to create any type of graphics and charts very
easily. The DataGridView combinining with GDI+'s graphics capability
applow me to create spreadsheet-like application, which is very hard
to be achieved using matlab. In particular, after reading two useful
books "Professional C# - Graphics with GDI+" (for brief discusion,
see for xample: <http://www.codeproject.com/books/1861004990.asp)>
nd "C# CHarts and Graphics" (see sample chapters from
publishing.unicadinc.com), now i can create any kind of matlab chart
or graphics using C#. and have much more flexibility than using
matlab.

Now I switch to C# total and don't want to touch matlab anymore (even
though i have used matlab for many years). I don't see matlab's
future.

Subject: C#? and Matlab? which one has future?

From: Scott Seidman

Date: 30 Mar, 2007 15:43:34

Message: 2 of 19

Mike <sf_mike01@yahoo.com> wrote in news:ef52d21.-1
@webcrossing.raydaftYaTP:

> Previously, much of the reason I use matlab is because of its
> graphics capabilities. The microsoft visual studio and C# (GDI+ in
> particular) language change the situation gradually. I spent a lot of
> time try to take advantage of both and tried very hard to combine
> them together using Matlab's COM builder. Eventually, I give up.
>
> After undersdanding more about C# framework, I found that C# and GDI+
> provide tools I need to create any type of graphics and charts very
> easily. The DataGridView combinining with GDI+'s graphics capability
> applow me to create spreadsheet-like application, which is very hard
> to be achieved using matlab. In particular, after reading two useful
> books "Professional C# - Graphics with GDI+" (for brief discusion,
> see for xample: <http://www.codeproject.com/books/1861004990.asp)>
> nd "C# CHarts and Graphics" (see sample chapters from
> publishing.unicadinc.com), now i can create any kind of matlab chart
> or graphics using C#. and have much more flexibility than using
> matlab.
>
> Now I switch to C# total and don't want to touch matlab anymore (even
> though i have used matlab for many years). I don't see matlab's
> future.
>


If you were using Matlab purely for graphics, then you were substantially
underusing Matlab. There are better, and less expensive, programs
available for presentation graphics or GUI programming (though Matlab can
be very powerful for both if you can learn to use the fairly low level
programming techniques). It's not surprising that you find other
packages more facile.

--
Scott
Reverse name to reply

Subject: C#? and Matlab? which one has future?

From: mike

Date: 30 Mar, 2007 11:13:10

Message: 3 of 19

Scott Seidman wrote:
>
>
> Mike <sf_mike01@yahoo.com> wrote in news:ef52d21.-1
> @webcrossing.raydaftYaTP:
>
>> Previously, much of the reason I use matlab is because of its
>> graphics capabilities. The microsoft visual studio and C# (GDI+
> in
>> particular) language change the situation gradually. I spent a
> lot of
>> time try to take advantage of both and tried very hard to
combine
>> them together using Matlab's COM builder. Eventually, I give
up.
>>
>> After undersdanding more about C# framework, I found that C#
and
> GDI+
>> provide tools I need to create any type of graphics and charts
> very
>> easily. The DataGridView combinining with GDI+'s graphics
> capability
>> applow me to create spreadsheet-like application, which is very
> hard
>> to be achieved using matlab. In particular, after reading two
> useful
>> books "Professional C# - Graphics with GDI+" (for brief
> discusion,
>> see for xample: <http://www.codeproject.com/books/1861004990.asp)>
>> nd "C# Charts and Graphics" (see sample chapters from
>> www.publishing.unicadinc.com), now i can create any kind of
matlab
> chart
>> or graphics using C#. and have much more flexibility than using
>> matlab.
>>
>> Now I switch to C# total and don't want to touch matlab anymore
> (even
>> though i have used matlab for many years). I don't see matlab's
>> future.
>>
>
>
> If you were using Matlab purely for graphics, then you were
> substantially
> underusing Matlab. There are better, and less expensive, programs
> available for presentation graphics or GUI programming (though
> Matlab can
> be very powerful for both if you can learn to use the fairly low
> level
> programming techniques). It's not surprising that you find other
> packages more facile.
>
> --
> Scott
> Reverse name to reply
>
  
I know that. Even for computation (such as matrix), we can easily
create a powerful math library in C# and the computation speed is
much faster (it is comparable to C code) than matlab. Matlab has too
much overhead, and is slow. the GUI created using matlab (not
allowing multi-document windows, hard to put on my own logo, etc...)
is unacceptable....

Subject: C#? and Matlab? which one has future?

From: Marcus M. Edvall

Date: 30 Mar, 2007 11:33:38

Message: 4 of 19

Even better should be to compile C code and interface to C#.

You can check how much they are hiring: <http://www.mathworks.com/company/jobs/opportunities/>

Looks pretty good to me... when they have ~0 open positions you can
start worrying about the future...

It would be interesting to hear more about using Matlab (mcc based)
as computational engine for commercial software (C++/C# based).

Best wishes, Marcus
Tomlab Optimization Inc.
 <http://tomopt.com/tomnet/>

>
> I know that. Even for computation (such as matrix), we can easily
> create a powerful math library in C# and the computation speed is
> much faster (it is comparable to C code) than matlab. Matlab has
> too
> much overhead, and is slow. the GUI created using matlab (not
> allowing multi-document windows, hard to put on my own logo,
> etc...)
> is unacceptable....

Subject: C#? and Matlab? which one has future?

From: mike

Date: 30 Mar, 2007 12:58:25

Message: 5 of 19

Marcus M. Edvall wrote:
>
>
> Even better should be to compile C code and interface to C#.
>
> You can check how much they are hiring: <http://www.mathworks.com/company/jobs/opportunities/>
>
> Looks pretty good to me... when they have ~0 open positions you can
> start worrying about the future...
>
> It would be interesting to hear more about using Matlab (mcc based)
> as computational engine for commercial software (C++/C# based).
>
> Best wishes, Marcus
> Tomlab Optimization Inc.
> <http://tomopt.com/tomnet/>
>

You talk about the job, right now the job market for C# and .NET is
much better that matlab.

currently most of corporations plan to have transition from original
C, C++ to C# and .NET framework. so C# jobs will grow in near future.

Subject: C#? and Matlab? which one has future?

From: Rune Allnor

Date: 30 Mar, 2007 11:37:54

Message: 6 of 19

On 30 Mar, 19:58, mike <sf_mik...@yahoo.com> wrote:
>
> You talk about the job, right now the job market for C# and .NET is
> much better that matlab.

You are comparing apples, oranges and banans. Matlab and C# are
two completely different animals. Matlab is a tool for rapid
prototyping of mathemathical algorithms, while C# is a programming
language from microsoft which makes all the other products
from microsoft play better together. While there is some overlap
between matlab and C#, stay very aware what the purpose of each is.

The job markets for the C# and matlab are very different. It might
be possible to get a job as a programmer in C#, I don't know.
Getting a job as a programmer in matab is nonsense. Matlab is
a tool people learn in order to do their main job, be it in
physics, chemistry or data processing.

Rune

Subject: C#? and Matlab? which one has future?

From: Michael Wild

Date: 30 Mar, 2007 21:00:09

Message: 7 of 19

mike wrote:
>
> I know that. Even for computation (such as matrix), we can easily
> create a powerful math library in C# and the computation speed is
> much faster (it is comparable to C code)

must be the worst c-code ever written... or you use something like nmath
or dnanalytics, which essentially wrap native blas/lapack libraries,
which also matlab does.

than matlab.

probably because you didn't make best use of matlabs capabilities

> Matlab has too
> much overhead, and is slow. the GUI created using matlab (not
> allowing multi-document windows, hard to put on my own logo, etc...)
> is unacceptable....

true, but then matlab was never intended to do such things equally well
as other toolkits. as rune has mentioned: matlab is primarily a fast
prototyping platform for numerical and mathematical algorithms.

michael

Subject: C#? and Matlab? which one has future?

From: Scott

Date: 30 Mar, 2007 14:10:20

Message: 8 of 19

Michael Wild wrote:
>
>
> mike wrote:
>>
>> I know that. Even for computation (such as matrix), we can
easily
>> create a powerful math library in C# and the computation speed
is
>> much faster (it is comparable to C code)
>
> must be the worst c-code ever written... or you use something like
> nmath
> or dnanalytics, which essentially wrap native blas/lapack
> libraries,
> which also matlab does.
>
> than matlab.
>
> probably because you didn't make best use of matlabs capabilities
>
>> Matlab has too
>> much overhead, and is slow. the GUI created using matlab (not
>> allowing multi-document windows, hard to put on my own logo,
> etc...)
>> is unacceptable....
>
> true, but then matlab was never intended to do such things equally
> well
> as other toolkits. as rune has mentioned: matlab is primarily a
> fast
> prototyping platform for numerical and mathematical algorithms.
>
> michael
>
One thing I have noticed at work. There are a few very talented C#
developers I work with. After a year or so of being beat to the
answer by a lowly matlab programmer (me) I have noticed these people
trying to use Matlab and asking for help. Matlab has a bright future.
The stupid finance industry is pretty slow to figure it out but the
science and engineering firms are all over it.

I like how I'm given a brand new intern just out of university and
he/she already is proficient at Matlab and can be put to good work
immedietely.

My only gripe is the price though I cannot offer any solution. Got to
pay those talented developers so I understand why it cannot be free
but the price does represent a barrier.

Scott

Subject: C#? and Matlab? which one has future?

From: Scott Seidman

Date: 30 Mar, 2007 19:15:12

Message: 9 of 19

Scott <no@spam.com> wrote in news:ef52d21.6@webcrossing.raydaftYaTP:

> One thing I have noticed at work. There are a few very talented C#
> developers I work with. After a year or so of being beat to the
> answer by a lowly matlab programmer (me) I have noticed these people
> trying to use Matlab and asking for help. Matlab has a bright future.
> The stupid finance industry is pretty slow to figure it out but the
> science and engineering firms are all over it.
>
> I like how I'm given a brand new intern just out of university and
> he/she already is proficient at Matlab and can be put to good work
> immedietely.
>
> My only gripe is the price though I cannot offer any solution. Got to
> pay those talented developers so I understand why it cannot be free
> but the price does represent a barrier.
>
> Scott
>
>

Each environment obviously has its advantages and disadvantages.
Pedegogically, though, it's my opinion that people have an easier time
going from a more classical programming language to Matlab than the other
way around.

--
Scott
Reverse name to reply

Subject: C#? and Matlab? which one has future?

From: Christoph Ortner

Date: 30 Mar, 2007 16:15:45

Message: 10 of 19

Python:

www.python.org
www.scipy.org

Subject: C#? and Matlab? which one has future?

From: Alex

Date: 31 Mar, 2007 01:11:25

Message: 11 of 19

On Mar 31, 12:15 am, "Christoph Ortner"
<christoph.ort...@comlab.ox.ac.uk> wrote:
> Python:
>
> www.python.orgwww.scipy.org

+1

Subject: C#? and Matlab? which one has future?

From: Nasser Abbasi

Date: 31 Mar, 2007 02:38:02

Message: 12 of 19

The competition for Matlab is things like Mathematica and Maple. Matlab does
not need to worry about C/C++/C#/C<add your favorite letter here>.

Comparing Matlab and those C? languages does not make anysense at all. You'd
have to shoot dead first before I'd use C# over Matlab for what I use it
for. (you have to also hang me then shoot me to make me use C# over
Mathematica and Maple).

Pick the right tool for the job. No one tool does everything for everyone.

hth

Nasser

Subject: C#? and Matlab? which one has future?

From: M

Date: 3 Apr, 2007 05:50:28

Message: 13 of 19

Alex wrote:
>
>
> On Mar 31, 12:15 am, "Christoph Ortner"
> <christoph.ort...@comlab.ox.ac.uk> wrote:
>> Python:
>>
>> www.python.orgwww.scipy.org
>
> +1
>
>

I'm seriously thinking about re-writing the code I've been working on
for the past few months in Python, I have to admit that it's not
simply because I want to learn Python. Right now I work for a company
who can afford Matlab, I know that once this job finishes I simply
won't be able to afford to purchase Matlab, not even as a student.

From the reading that I've done Python seems to offer a comparable
(albeit less 'packaged') alternative that's free in all senses of the
word and can do an awful lot of what TMW software is capable of.

I will be the first person to admit that I'm not the greatest of
coders, I can figure things out eventually but I find the mathworks
docs to be insufficient. Vectorised code is counter-intuitive to me,
loops are easy to step through in my head and make sense of when
compared to vectorised code. I don't know if it's a particular
failing on my part (there's a lot of Matlab users in the world
afterall) or if it's just something you need to have a knack for.

I've found learning Matlab to be an excellent, positive experience.
It's shown me that I can build something quite significant and spend
more time figuring out how to solve a problem than implementing the
solution. Hopefully Python will offer an analogous experience. :)

-M

Subject: C#? and Matlab? which one has future?

From: Dmitrey

Date: 3 Apr, 2007 04:16:47

Message: 14 of 19

+1
On Mar 31, 11:11 am, "Alex" <alex.liber...@gmail.com> wrote:
> On Mar 31, 12:15 am, "Christoph Ortner"
>
> <christoph.ort...@comlab.ox.ac.uk> wrote:
> > Python:
>
> >www.python.orgwww.scipy.org
>
> +1

I have 1.5 years Python experience and >3 years MATLAB one.
Now my choise is former
(Python + numpy + other free math modules).
WBR, D.

Subject: C#? and Matlab? which one has future?

From: Scott Seidman

Date: 3 Apr, 2007 12:12:45

Message: 15 of 19

"Rune Allnor" <allnor@tele.ntnu.no> wrote in news:1175597275.538807.271580
@p77g2000hsh.googlegroups.com:

> Loops and tests are the nuts and
> bolts of algorithms and programming. People who learn to
> manipulate computers with matlab (I don't consider writing
> scripts or function with matlab as "programming") are at
> a huge disatvantage when the going gets tough and real
> performance is in demand.
>

I agree 100% (well maybe 98%) that Matlab is very much less than ideal as a
first programming language-- and for many reasons-- but nothing really
prevents ML programmers from using all the loops and tests they wish.
Recent versions of optimization mean there isn't even much of a performance
hit.

Matlab, and other platforms that copy it, are excellent prototyping
platforms. They certainly have their place. In an enviroment like mine,
most of what I do is prototyping, and when I'm done prototyping I don't
care much about performance, so I don't swap platforms. Lately, I've been
doing more embedded stuff-- and I notice that students who have matlab as
their only programming tool are VERY lost at the beginning.

--
Scott
Reverse name to reply

Subject: C#? and Matlab? which one has future?

From: M

Date: 3 Apr, 2007 09:40:25

Message: 16 of 19

Rune Allnor wrote:
>
>
> On 3 Apr, 11:50, M <M...@M.com> wrote:
>
>> I will be the first person to admit that I'm not the greatest
of
>> coders, I can figure things out eventually but I find the
> mathworks
>> docs to be insufficient. Vectorised code is counter-intuitive
to
> me,
>> loops are easy to step through in my head and make sense of
when
>> compared to vectorised code. I don't know if it's a particular
>> failing on my part (there's a lot of Matlab users in the world
>> afterall) or if it's just something you need to have a knack
for.
>
> "Vectorization" is *the* reason to avoid matlab, for exactly
> because of what you say. Loops and tests are the nuts and
> bolts of algorithms and programming. People who learn to
> manipulate computers with matlab (I don't consider writing
> scripts or function with matlab as "programming") are at
> a huge disatvantage when the going gets tough and real
> performance is in demand.
>
> Rune
>
>
  
I'm quite fortunate in timing really as I got to work with matlab
after TMW optimised loop-structured programs, if I were working on a
project that involved time critical processing I don't think I'd have
been half as successful. I think I could count on both hands the
number of tmes that I've used any significant vectorisation in my
code. I intentionally avoided vectorisation both because I need to
create a future-proof application that can be quickly understood (by
myself and others) and because vectorisation requires a lot more
effort on my part to understand and implement. I've thought it
obvious that just because you can fit 8 lines of 'looped' code into a
one line vectorised equivalent it may not in actual fact be a good
idea.

I do think that Matlab does provide enough in the way of tools to
build a fully featured program. Between GUIDE which, lets face it,
isn't fantastic but does do the job and the relative ease that you
can 'plug' code into a GUI you can make a quite usable GUI-based
program.

I've constantly been aware at the cost of creating a distributable
executable though, not to mention the need to bundle a 100MB+ (I
think, correct me if I'm wrong) file with your program. All in all,
creating stand alone programs seems to have more negatives than
positives from what I can see where Matlab is concerned.

-M

Subject: C#? and Matlab? which one has future?

From: Scott Seidman

Date: 3 Apr, 2007 14:05:29

Message: 17 of 19

M <M@M.com> wrote in news:ef52d21.15@webcrossing.raydaftYaTP:

> All in all,
> creating stand alone programs seems to have more negatives than
> positives from what I can see where Matlab is concerned.
>

I've always looked at the compiler as a convenience--you can transport your
code fairly quickly after prototyping, but its not necessarily the best or
most efficient way to go.

I'd venture that many more copies of Matlab are sold without the compiler
than with it.

--
Scott
Reverse name to reply

Subject: C#? and Matlab? which one has future?

From: Steve.Amphlett@ricardo.com

Date: 3 Apr, 2007 07:06:32

Message: 18 of 19

On Apr 3, 2:40 pm, M <M...@M.com> wrote:
> Rune Allnor wrote:
>
> > On 3 Apr, 11:50, M <M...@M.com> wrote:
>
> >> I will be the first person to admit that I'm not the greatest
> of
> >> coders, I can figure things out eventually but I find the
> > mathworks
> >> docs to be insufficient. Vectorised code is counter-intuitive
> to
> > me,
> >> loops are easy to step through in my head and make sense of
> when
> >> compared to vectorised code. I don't know if it's a particular
> >> failing on my part (there's a lot of Matlab users in the world
> >> afterall) or if it's just something you need to have a knack
> for.
>
> > "Vectorization" is *the* reason to avoid matlab, for exactly
> > because of what you say. Loops and tests are the nuts and
> > bolts of algorithms and programming. People who learn to
> > manipulate computers with matlab (I don't consider writing
> > scripts or function with matlab as "programming") are at
> > a huge disatvantage when the going gets tough and real
> > performance is in demand.
>
> > Rune
>
> I'm quite fortunate in timing really as I got to work with matlab
> after TMW optimised loop-structured programs, if I were working on a
> project that involved time critical processing I don't think I'd have
> been half as successful. I think I could count on both hands the
> number of tmes that I've used any significant vectorisation in my
> code. I intentionally avoided vectorisation both because I need to
> create a future-proof application that can be quickly understood (by
> myself and others) and because vectorisation requires a lot more
> effort on my part to understand and implement. I've thought it
> obvious that just because you can fit 8 lines of 'looped' code into a
> one line vectorised equivalent it may not in actual fact be a good
> idea.
>
> I do think that Matlab does provide enough in the way of tools to
> build a fully featured program. Between GUIDE which, lets face it,
> isn't fantastic but does do the job and the relative ease that you
> can 'plug' code into a GUI you can make a quite usable GUI-based
> program.
>
> I've constantly been aware at the cost of creating a distributable
> executable though, not to mention the need to bundle a 100MB+ (I
> think, correct me if I'm wrong) file with your program. All in all,
> creating stand alone programs seems to have more negatives than
> positives from what I can see where Matlab is concerned.
>
> -M- Hide quoted text -
>
> - Show quoted text -

All this talk about vectorization being bad. If a line of code looks
like the problem it is solving then good. If it is almost impossible
to understand then bad. I like to write code that resembles the
equations/expressions it is calculating. And I like to make tweaks in
as few places as possible when iterating.

Subject: C#? and Matlab? which one has future?

From: Mike Rowe

Date: 5 Apr, 2007 17:43:59

Message: 19 of 19

Vectorization is the best thing about Matlab. Yes, it takes a while
to learn how to program without all those FOR loops, but once you get
it, you can write much more concise code, that executes faster. I
especially like the logical indexing, and using the set functions
(ismember, intersect, setdiff, unique, etc.) for finding just the
data I need in a large dataset.

I also find the compiler really useful. I can write an app to
address some specific analysis need, and distribute it to any of the
90,000+ employees at my company who may need it, and they don't need
a license or any Matlab knowledge to run it. Just last week I took a
bunch of functions I'd developed for doing analysis and visualization
and bundled them as an app. I had it working in two days, with data
I/O, 12 different kinds of plots, reports, printing and copying. The
compiled executable and .ctf are 500 KB. Yes, the MCR is a lot
bigger, but it only has to be installed once to use any app you
write.

Our web developer wrote a web-based app to access one of our
databases, do some simple analysis an plot the results. It took him
two months. I wrote a stand-alone app to do essentially the same
thing, only with more features, and it took me a week. (In case
you're wondering why I did this, I just got sick of waiting for him
to implement the features I wanted.)

I'm never going back to C! FOR loops? Pointers? Declaring
variables? Just shoot me now...

Mike

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

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.

rssFeed for this Thread

Contact us at files@mathworks.com