C-sharp demand on par with Assembler - Apache releases a Java app server (Re: Skills in most demand)

J

Jeff Relf

Hi The Ghost In The Machine,

You asked me, " Precisely why is C# a sick joke ? "

Because it's not serious. And how could it be ?

If you want to target a device ... then target it.

You can't build a skyscraper with an all purpose tool.

And that's what C# and Java are, all purpose tools.
They do a bit of everything ... but nothing well.
e.g. No memmove() or realloc(), poor virtualizations,
and OS specific tasks defeat their one advantage.
 
J

Judge Bailo Presiding

Jeff said:
Hi The Ghost In The Machine,

You asked me, " Precisely why is C# a sick joke ? "

Because it's not serious. And how could it be ?

If you want to target a device ... then target it.

You can't build a skyscraper with an all purpose tool.

What?

Skyscrapers are products of the machine age.

Templated girders. Fastners for walls instead of nails. Modular
plumbing, electricity, heating and cooling.

Modern housing is also modular...assembled quickly, easily with high
quality and low cost, with the latest tools and materials.

Jeff -- You're still building Thatch Huts..
 
J

Judge Bailo Presiding

Jeff said:
Hi Dag Sunde,

You mentioned that you and your customers prefer,
" Java for Enterprise Apps, Stand alone Apps,
and for custom Web apps ( Applets ). "

You probably work in a very large company ...

Big Corps suck, I say.

Hi There!

I'm on my way, I'm making it
huh
I've got to make it show, yeah!
Aaa!
So much larger than life
I'm gonna watch it growing
Hey, hey, hey, hey.......

The place where I come from
is a small town
They think so small
they use small words
but not me, I'm smarter than that
I worked it out
I'll be stretching my mouth
to let those big words come right out.
I've had enough
I'm getting out
to the city, the big big city
I'll be a big noise
with all the big boys
so much stuff I will own

And I will pray to a big God
as I kneel in the big church

BIG TIME!
I'm on my way I'm making it.
BIG TIME!
Oooo yes.
BIG TIME!
I've got to make it show, yeah.
BIG TIME! (x2)
So much larger than life
BIG TIME!
I'm gonna watch it growing
BIG TIME!
oh..........

My parties have all the big names
and I greet them with the whitest smile
tell them how my life is one big adventure
and always thier amazed
When I show them 'round the house to my bed
I had it made like a mountain range
with a snow white pillow for my big fat head
And my heaven will be a big heaven
and I will walk through the front door

BIG TIME!
I'm on my way I'm making it.
BIG TIME!
huh
BIG TIME!
I've got to make it show, yeah.
BIG TIME! (x2)
So much larger than life
BIG TIME!
I'm gonna watch it growing
BIG TIME! (x2)
My car's getting bigger
BIG TIME!
My house getting bigger
BIG TIME!
My eye's getting bigger
BIG TIME!
and my mouth......
BIG TIME!
My belly's bigger
BIG TIME!
and my bank account
BIG TIME!
Look at my circumstance
BIG TIME!
and the bulge in my big (x15)

-- P. Gabriel
 
J

Jim Sculley

Tom said:
You're going to have to clarify that... Are you talking about .NET or the
ECMA/ISO C#/CLI? Currently, Rotor - the ECMA/ISO reference version of the
C# compiler and CLI

Which can't be used for commercial purposes.....


Jim S.
 
T

Tom Shelton

Hi The Ghost In The Machine,

First, off Jeff - I don't care if you continue to use C/C++. That's
you're choice - and it is a fine one.

But, the fact is that Java (though, I'm not much of a Java fan) and C#
make many tasks simpler and you're code more secure and less error
prone. All of that translates to shorter time to market - and that in
many markets, that is what counts.

I'm not claiming that C# (or Java) is the end-all, be-all of programming,
nor is it suitable for every task - but it is certainly more capable
then you like to make it sound.
You asked me, " Precisely why is C# a sick joke ? "

Because it's not serious. And how could it be ?

I assure you it's serious.
If you want to target a device ... then target it.

That makes sense for certain domains - device drivers, embedded, etc.
But, it certainly isn't a blanket proposition.
You can't build a skyscraper with an all purpose tool.

There isn't much I can't do in C# that you can do in C++... And in
those rare instances when I can't use C# (like global system hooks in
windows), it is fairly trivial to write the code in a dll in C/C++ and
call it from my C# application.
And that's what C# and Java are, all purpose tools.
They do a bit of everything ... but nothing well.
e.g. No memmove() or realloc(), poor virtualizations,
and OS specific tasks defeat their one advantage.

Marshal.Copy
Marshal.AllocHClobal
Marshal.AllochGlobal

Happy now...
 
P

Paul Hovnanian P.E.

[snip]

I'm currently working on an embedded computer system for planes
like the 777 (google on Boeing EFB). Unlike earlier fixed function
instruments, this unit is designed to have new applications loaded on
it over time. Of course any flight critical apps still need to go
through certification, and this would preclude a purely MS Windows
solution. The answer was to design a Linux/Windows hybrid; basically
two computers on one board with the Linux side acting as the firewall
between Windows and the airplane. Flight critical apps (like anything
that shows a moving map) are required to run on the Linux side. It
is actually a rather unique design.

So, where did the requirement to run _any_ Windows software on board the
aircraft come from?

I ask this question rhetorically, having worked at Boeing in the past
and seen how far Boeing's nose was shoved up Microsoft's nether regions.
 
P

Paul Hovnanian P.E.

Unfortunately, the aerospace industry is not compatible with that
plan. To gain approval for installing a new piece of hardware/software
in a commercial airplane requires an exhaustive certification process
(do a google search on DO178B certification). For software, this
means requirement and design documents, gazillions of test cases,
code coverage analysis, etc... for every line of code including the
libraries and tools. This certification process is often 10 times
the effort of writing the software. Obviously, this creates an
incentive to keep the software as lean as possible (i.e. no bloated
OO tool-kits). It is interesting to note that a few embedded
software companies make there living selling very expensive
pre-certified operating systems exactly because it is such a pain
in the *ss to go through the certification process.

It is also why MS software will have a hard time finding its way onto
flight critical systems. You first of all would need access to the
source code, the time and money to put it through the certification
process (ouch), and the ability to make changes to the code base
when components fail certification. This is why Linux is much more
popular for many embedded applications. The source code is available
without expensive license fees, and the modular unix-like design
makes it easier to trim down to the bare minimums.

I'm currently working on an embedded computer system for planes
like the 777 (google on Boeing EFB). Unlike earlier fixed function
instruments, this unit is designed to have new applications loaded on
it over time. Of course any flight critical apps still need to go
through certification, and this would preclude a purely MS Windows
solution. The answer was to design a Linux/Windows hybrid; basically
two computers on one board with the Linux side acting as the firewall
between Windows and the airplane. Flight critical apps (like anything
that shows a moving map) are required to run on the Linux side. It
is actually a rather unique design.

http://www.aviationtoday.com/cgi/av/show_mag.cgi?pub=av&mon=0903&file=0903efb.htm

Cheers!
 
P

Paul Hovnanian P.E.

Joe said:
Then why not keep everything to a minimum, with c#/mono ?

What do you mean by 'a minimum'? The libraries, compiler and run time
all have to be documented, tested and certified. Right down to the
processor hardware.
Mono is going to be on every desktop, everywhere worldwide.

Why not build on an installed based of assemblies, rather
than porting libraries around, like a caveman toting water
on the backs of his oxen?

Desktops aren't certified as flight worthy. So the code would have to be
built and tested on the target platform anyway. Why bother certifying
all the uneeded crap that comes with the typical desktop?
 
J

Jeff Relf

Hi Judge Judy,

You commented,
" Jeff -- You're still building Thatch Huts. "

Hmm ... Perhaps so, But I love my little hut.

P.S.
My bitch stole my favorite porno DVD,
she can get 90 to life for that, right ?
 
R

Rob S. Pierre

Tom Shelton said:
Code written and compiled in VS.NET can generally be run on Linux and the
Mono runtime with out change

Console.writeLine ("Hello Tom");

In fact you are right.
 
T

Tom Shelton

Console.writeLine ("Hello Tom");

In fact you are right.

You can be sarcastic all you like - but you failed to quote this part of my
statement:

"(with the caveat that the library classes are currently implemented -
which is becomming less of an issue as time
passes.)"

I acknowledge that Mono is still a beta product - and not every .NET class
has been implemented yet. But, a fairly significant number have been. You
can write programs much more useful then "Hello world" that run on both
..NET and mono. And that includes GUI applications using GTK#.
 
A

Abraham Lincoln

Jeff said:
Hi Judge Judy,

You commented,
" Jeff -- You're still building Thatch Huts. "

Hmm ... Perhaps so, But I love my little hut.

Perhaps you can create low cost coding methods for the poor.

President Carter will award you appropriately....
 
A

Abraham Lincoln

Paul said:
Desktops aren't certified as flight worthy. So the code would have to be
built and tested on the target platform anyway. Why bother certifying
all the uneeded crap that comes with the typical desktop?

Because ultimately the Framework and the OS will be the same.

So the /carrying/ will be nothing.

The OS becomes one huge Object Model
 
A

asj

hehehe...of course, the good old days are far from here, now that the
dotcom bubble has thoroughly burst. This study from australia
complements other studies in USA and Europe that show Java again
leading the way in robust job growth.

i guess the days when you could call c-sharp a "java-killer" with a
straight face are long gone, eh? bwahahahabwahahaha!!!!!

--------------------------------------

Experts in Java, Unix or Oracle should have no trouble finding work,
according to the results of a skills survey.

IT&T recruiter Ambit's six-monthly series measures skills required for
roles advertised on Jobnet, the Australian IT&T career site.

According to the series, people with Java experience are in top
demand, with 8.5 percent of all Jobnet advertisers requiring these
skills. Visual Basic experts came second with 6.1 percent of jobs
advertised needing their expertise. C++ professionals are third most
sought after with 4.8 percent of IT&T employers wanting them.

Peter Butterss, Ambit Group's executive director, said although the
demand for Java skills had dropped since peaking in February 2001 with
a 15.6 percent demand, it still remains high.

"The key reason for this stems from Java continuing to be the
preferred development platform because of its scalability and its
ability to operate with other platforms within the client and server
space," Butterss said.

"As a result it is widely used in the banking and telecommunications
sectors and is the most commonly used development platform for
customer marketing- particularly where online browsing or problem
management is concerned."

Butterss advises that Java language programmers update their Java
skills in both the client and server areas.

"From an interface perspective, Swing is worthwhile investigating and
on the server side, Servlets APIs are good," he said.

http://www.linuxworld.com.au/index.php/id;1701743130;fp;2;fpid;1
 
O

One Handed Man \( OHM - Terry Burns \)

Java will never be supreme IMHO. Who wants a switch stament which only does
ordinals for example. Give me select case anyday !

Java's good if you wear open toed sandals and like to caress your Spark
workstation ( or whatever ) on a worknight when everyone has gone home.

Bwhhhhaahhhhhwaahhhahhhha !!!!
 
T

The Ghost In The Machine

In comp.lang.java.advocacy, Jeff Relf
<[email protected]>
wrote
Hi The Ghost In The Machine,

You asked me, " Precisely why is C# a sick joke ? "

Because it's not serious. And how could it be ?

If you want to target a device ... then target it.

You can't build a skyscraper with an all purpose tool.

And that's what C# and Java are, all purpose tools.
They do a bit of everything ... but nothing well.
e.g. No memmove() or realloc(), poor virtualizations,
and OS specific tasks defeat their one advantage.

Well, this gets mildly interesting. Of course it depends on
what one means by a device.

C++ doesn't do IO ports; one has to either call down to an assembly
language routine or use some sort of extension that does assembly.
While this works, it's hardly portable. I for one mostly use X;
X doesn't do devices (at least at the client level), although it
will happily feed one's program events generated therefrom (e.g.,
mouse clicks, keypresses).

C++ can easily handle memory -- even volatile memory.

char * p = (char *) 0x88888888;

for example. Of course the address is highly machine-dependent.

Interrupts are interesting but beyond the scope of most applications.
If one's working in the kernel, one might have a requirement
for handling interrupts. (Linux is, however, written in C.
I don't know about external modules, though.)

As for memmove(): System.arraycopy() is roughly equipvalent.
Realloc() is admittedly an issue, but in a multithreaded environment
where threads are allowed to allocate and free memory, realloc
is slightly problematical anyway as one's virtual address space
gets fragmented.

I'd need some clarifications on poor virtualizations and
OS-specific tasks. Of course part of the OS-specificity is
because of the poor design of many Java programs, which use
"/blah/blah" instead of the more proper
File.listRoots()[n] + "blah" + File.separator + "blah"
(where n is an integer), or an input parameter.

Is this Java's fault? Possibly. But it's not entirely Java's fault.

As for poor virtualization: what is an example of good virtualization?
Color me curious.
 
J

Jeff Relf

Hi The Ghost In The Machine,

" what is an example of good virtualization ? "

We've talked about this before.

Windows allows me to write to any raster device
using essentially the same code.

Works the same regardless of the printer or the screen.
It's a piece of cake. And it pays my rent.

From what I've been told so far,
Java and C# either can't do that,
or don't do it as well.

Linux doesn't support ( or even know about )
my Microsoft Trackball Explorer.
A USB device with 5 buttons and a wheel.

So, obviously, Java doesn't know about it either.

Linux and Java don't support Excel automation either.

Each OS has many quirks,
such as how mouse messages are handled by various
components, and how the cursor is drawn.

How could I write a Good program for a Mac OS X G5,
which has dual CPU's, each with it's own memory,
and a 30 inch LCD, without actually owning such a beast ?

And those are just a few examples.
Easy cross-platform development using Java or C#
is a nice fantasy... but nothing more.

And just writing Hello World doesn't cut it either.
I'm talking about writing the code that I want,
and having it run the way I want,
without Java's roadblocks or convulsions.

Java is the slum of the computing world.
 
G

Guest

Advertised on Jobnet..

It's an interesting figure sure, however let me tell you somethign about jobnet..
Jobnet is run buy a recruitment agency. Recruitment agencies generally don't post job advertesments untill they have checked their own databases for suitable candidates.

So the real question is: Is java in high demand, or are there just not alot of java developers registered with the agency running jobnet??

Just something to think about...

Cheers
 
R

Rob S. Pierre

Tom Shelton said:
You can be sarcastic all you like - but you failed to quote this part of my
statement:

"(with the caveat that the library classes are currently implemented -
which is becomming less of an issue as time
passes.)"

I acknowledge that Mono is still a beta product - and not every .NET class
has been implemented yet. But, a fairly significant number have been. You
can write programs much more useful then "Hello world" that run on both
.NET and mono. And that includes GUI applications using GTK#.

I am not sarcastic at all. That's the truth. Mono is a kind of lowest-
common-denominator-software - even much more "LCD" then Java
ever was.

Can you write graphics-software with Mono in a platform-independent
way? Let's take a look.

Microsoft uses DirectX, most MS-developers will use it and that means
that games or other 3D-apps don't run on Linux. Off course you can write
OpenGL but that's probably only a very small part of 3D-development.
MSFT will even integrate DirectX into the NET-Framework.

Can you write 2D-graphics in a platform-indendent way? Off course not
because System.Drawing is deeply integrated in GDI. There is some
cloning effort afaik but again 2D-software will not be compatible.

Most MSFT-developers will write Winforms-applications.
WinForms needs Wine to run on Linux and therefore is not a first-class-
citizen on Linux so-to-say. If Mono is dependent from Wine it makes
Mono look bad in the eyes of the community.

The most interesting thing is that apparently the leaders of the Mono-
project want to make Mono the platform for GNOME saying that
compatibility with the Microsoft-implementation is not necessary.
That's confusing for all those MSFT-developers hoping to get their
apps ported to Linux.

I guess on JavaOne Sun will announce that Java will be OSS at
the end of the year. It is inevitable imho that this happens.
If Java 1.5 will have a GNU-compatible licence then Mono will
be literally death.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top