Microsoft abandons the C language

B

BartC

Malcolm McLean said:
בת×ריך ×™×•× ×©×‘×ª, 25 ב×וגוסט 2012 10:16:17 UTC+1, מ×ת Rui Maciel:
I'm beginning to come to the the position that C is right for re-usable
components, whilst the UI should be strung together in some high-level
language.

I was doing that a long time ago for applications. There were lots of
advantages anyway in using a dynamic language alongside a compiled one (for
example being able to develop stuff from from inside the application
itself).

But when responsible for developing the languages, as I was, then I had to
make all the graphics etc available by creating libraries based around
Win32. The docs for Win32 used a C interface which made it possible; it was
easy to see what was going on and duplicate the same functionality.

However then they moved towards C++ (for GDI+ for example, and DirectX),
which made things much more difficult. In theory the interface could still
be used via C, but I never had much luck; I haven't got a clue about COM or
IInterface or any of that stuff (despite looking at some projects doing just
that via lcc-win32).

I've no idea at the moment what Windows 8 or Metro is about, but it sounds
very much like I'm going to be locked out.

But this I imagine will apply to many other languages, not just my private
ones, and apparently C too! Or are all of those hundreds of programming
languages that people might want to use on Windows, expected to compile down
to CIL (whatever the .NET thing is), or implemented in one of the four
official MS languages (VB, C#, 'C++', and .. XAML?). Will ASM still work?

And how *does* one create graphics from another language (since the examples
assume you are using an official one)? In fact how do you do anything?
Without a generic or binary interface (or one in C which is almost the
same), then it becomes a closed system.
 
M

Malcolm McLean

בת×ריך ×™×•× ×©×‘×ª,25 ב×וגוסט 2012 10:59:07 UTC+1, מ×ת Adrian Ratnapala:
This is verging on heresy. Everyone who has never rewritten a MATLAB program in C or Fortran knows; MATLAB is a just as fast as those languages. Faster even! Your ten times improvement is just proof that you haven't heard of vectors, obviously you are a newbie programmer.
There might be some really clever way of doing it in Matlab. But then I can't
understand the code.
 
M

Malcolm McLean

בת×ריך ×™×•× ×©×‘×ª,25 ב×וגוסט 2012 12:12:19 UTC+1, מ×ת Bart:
And how *does* one create graphics from another language (since the examples
assume you are using an official one)? In fact how do you do anything?
Without a generic or binary interface (or one in C which is almost the
same), then it becomes a closed system.
Java version one tired to implement a windowing system that mapped Java
elements onto Winodws native elements. So a text box would be a Windows
"edit" control and suchlike. Apparently it didn't work, and Swing just
reimplmented everything on top of a couple of fucntions to open a window and
set a pixel within that Window. Apparently that works.

But it's a nuisance. I've written endless little graphics routines to darw
lines any polygons and things, purely to avoid OS dependence.
 
N

Nick Keighley

You can still write console apps in Win8.




Win32 is still there, but just a subset of it is callable from Metro apps..

I really don't see the hullabuloo about Metro apps. Some
applications/platforms fit the model, others don't. I haven't investigated
it much, but Metro seems to be a smart phone GUI put on the desktop, which
sounds like a very dumb idea. On a phone, or tablet maybe, but on a desktop?
Surely that showing of that coffee table interface where one could move
stuff around with their hands because the surface was a touch screen has
something to do with this (read, Bill Gate's ego). MS seems to be just a
bunch of propeller heads after the Win 8 UI fiasco.

But then again, the first thing I do after installing the latest and
"greatest" version of Windows and after playing around with the "new and
improved" GUI for a bit, is go looking for the same classic GUI I've been
using since Win 95, so it may be just me. Heck, maybe y'all have abandoned
your desktops for your smartphone ages ago, or don't even know what one of
those desktop (computer) things is! I don't even have a smartphone. The last
thing I want when I'm away from my computer, is to be away WITH another
computer!

I got off the MS bandwagon of "new-and-improved" technologies early. The
first incling I had of their strategy is when they came out with DDE and
then everything in their arsenal had to have 'DDE' in the name. Then it was
OLE. COM. MFC, .Net, WinRT, Metro... it never ends. I feel very lucky that I
haven't spent much time on learning MS-proprietary technologies.

yeah I skipped most of them too. I've recently had to do a bit of COM.
Not too bad if you wrap up well
 
A

Adrian Ratnapala

There might be some really clever way of doing it in Matlab. But then I can't
understand the code.

It's been a long time now, but I thought the image processing toolbox wouldhave some fairly direct way of doing a flood-fill. But even then, for reasons that are not easy to explain, your results would still be slow, and the code would still look like a pig.

99% of the time, that's fine, MATLAB is for answering questions about data,not writing applications. But it gets up my nose when people insist thatit is a "real" programming language. The "Matlab is as fast a C if you vectorise" fallacy is part of that.
 
B

BGB

That is ludicrous to think that. Think about it a minute. Do you really
think that MS would throw away everything they ever did up until now because
of a touch UI? C'mon. Really now, c'mon. There was some rumor about the free
versions of the tools being Metro-only, but we'll never know what was
planned because now they are making the free tools for desktop development
available. Has this group all taken sensationalism drugs or what?

actually, MS does this a lot, though usually it is more like:
they have their new fancy stuff, and they want everyone to use it;
people continue doing stuff the old way;
MS realizes maybe it wasn't so great after all.


from what I had heard the idea was that they were planning on basically
making any new development on the platform have to use their new stuff
(presumably older software and third-party tools would still work though).

it was at this point that there was backlash, and their changed their
position, and decided to allow traditional software to still be
developed with the new tools as well.


granted, most of what I heard about it came from various online forums
though...
 
B

BartC

Malcolm McLean said:
בת×ריך ×™×•× ×©×‘×ª, 25 ב×וגוסט 2012 12:12:19 UTC+1, מ×ת Bart:
Java version one tired to implement a windowing system that mapped Java
elements onto Winodws native elements. So a text box would be a Windows
"edit" control and suchlike. Apparently it didn't work, and Swing just
reimplmented everything on top of a couple of fucntions to open a window
and
set a pixel within that Window. Apparently that works.

I've tried it a few times and it just doesn't work. The Windows common
controls are a complete and utter mess. Every one is different. There's no
consistency. Each uses a set of dozens of messages, notifications, styles,
structs and functions that are different, and incompatible with, all others.
A feature available on one control (vertical text justify for example) is
not available on another. You can't draw into any control at will. Some have
a discrete border, others have it as part of the client area. Etc. Who
designed this heap of rubbish?

I'm not surprised Swing does it that way, and my next attempt will use a
similar approach. Really, programming this stuff is not that difficult. All
my controls will use the same, small, compatible sets of messages and
features.

However I need at least the ability to create a top-level window, and some
very basic graphics capability; and there might not be an easy way to do
that on Windows 8 if all C interfaces are removed!

I can see myself dusting off my soldering iron and building my own hardware
again in a couple of years...
 
B

BGB

בת×ריך ×™×•× ×©×‘×ª, 25 ב×וגוסט 2012 12:12:19 UTC+1, מ×ת Bart:
Java version one tired to implement a windowing system that mapped Java
elements onto Winodws native elements. So a text box would be a Windows
"edit" control and suchlike. Apparently it didn't work, and Swing just
reimplmented everything on top of a couple of fucntions to open a window and
set a pixel within that Window. Apparently that works.

But it's a nuisance. I've written endless little graphics routines to darw
lines any polygons and things, purely to avoid OS dependence.

yeah.

a long while ago, I had just written code to mimic the "look and feel"
of the Windows GUI widgets on top of OpenGL.

mostly, this was since I was using OpenGL and the native widgets are
kind of a PITA.

of course, developing a decent GUI API isn't really easy, and my own
existing GUI stuff is still sort of a pain to use.

it is also a pain because what I am using it for now implies the use of
a client/server GUI (where a socket may exist between the "client/user"
and the "server" which contains the logic behind the UI). I haven't
really gotten around to implementing this (or worked out exactly what
the API is going to look like).
 
8

88888 Dihedral

BGBæ–¼ 2012å¹´8月25日星期六UTC+8下åˆ11時41分35秒寫é“:
actually, MS does this a lot, though usually it is more like:

they have their new fancy stuff, and they want everyone to use it;

people continue doing stuff the old way;

MS realizes maybe it wasn't so great after all.





from what I had heard the idea was that they were planning on basically

making any new development on the platform have to use their new stuff

(presumably older software and third-party tools would still work though)..



it was at this point that there was backlash, and their changed their

position, and decided to allow traditional software to still be

developed with the new tools as well.





granted, most of what I heard about it came from various online forums

though...

Lets think in the OSI model. For those peripheral makers of the Wintel
platform, they still have to think and write programs or drivers
to talk to the OS level and the AP level that both do not need to know the
details of the attached devices.
 
L

Les Cargill

Malcolm said:
בת×ריך ×™×•× ×©×‘×ª, 25 ב×וגוסט 2012 12:12:19 UTC+1, מ×ת Bart:
Java version one tired to implement a windowing system that mapped Java
elements onto Winodws native elements. So a text box would be a Windows
"edit" control and suchlike. Apparently it didn't work, and Swing just
reimplmented everything on top of a couple of fucntions to open a window and
set a pixel within that Window. Apparently that works.

But it's a nuisance. I've written endless little graphics routines to darw
lines any polygons and things, purely to avoid OS dependence.

This is precisely why I ended up switching completely to Tcl/Tk around
the year 2000. I suppose Python would serve as well now.
 
R

rashid

This is a long story. It starts years ago since windows 3.1 and it ends
now, with "Metro".
[cut]

Dude you are a crazy.

MS is a great friend of C. They have put C/C++ at the center of Windows
development for 25 years. They sold more C/C++ compilers than anyone.
They produce their own software in C/C++. All their MFC .NET etc is built
right on top of C/C++.

You and all the other crazy MS haters should get a life. C would not have
survived as a successful language without the great support of MS across
many years!
 
J

Jens Gustedt

Am 25.08.2012 23:09, schrieb rashid:
MS is a great friend of C.

such a great friend that they refused to support the successive
standards since 1999
They have put C/C++ at the center of Windows
development for 25 years. They sold more C/C++ compilers than anyone.
They produce their own software in C/C++. All their MFC .NET etc is built
right on top of C/C++.

There is no such thing like C/C++.
You and all the other crazy MS haters should get a life. C would not have
survived as a successful language without the great support of MS across
many years!

Ah, now I see you are joking :)

Jens
 
K

Keith Thompson

rashid said:
This is a long story. It starts years ago since windows 3.1 and it ends
now, with "Metro".
[cut]

Dude you are a crazy.

MS is a great friend of C. They have put C/C++ at the center of Windows
development for 25 years. They sold more C/C++ compilers than anyone.
They produce their own software in C/C++. All their MFC .NET etc is built
right on top of C/C++.

You and all the other crazy MS haters should get a life. C would not have
survived as a successful language without the great support of MS across
many years!

What exactly is "C/C++"? There no such language. C and C++ are two
distinct, but closely related, languages.

As for Microsoft's support for them, yes, they have a C compiler, but it
doesn't support the C99 or C11 standard. I believe that they use much
more C++ than C in implementing their own software (Windows, etc.).

I'm not going to say that they've "abandoned" C, but they certainly
aren't showing much enthusiasm for it these days.
 
O

ozbear

Le 23/08/12 22:20, Paul a écrit :

Of course. But the new interface is no longer available, and the C
interface is no longer maintained so in a few years those application
will be as obsolete as MSDOS is today since all NEW features will not be
ported to the C interface you see?

And what's wrong with that?
Nothing lasts forever, nor should it.

The C language has no place on tablets.

Oz
 
T

timprince

What exactly is "C/C++"? There no such language. C and C++ are two
distinct, but closely related, languages.

As for Microsoft's support for them, yes, they have a C compiler, but it
doesn't support the C99 or C11 standard. I believe that they use much
more C++ than C in implementing their own software (Windows, etc.).

I'm not going to say that they've "abandoned" C, but they certainly
aren't showing much enthusiasm for it these days.
Speculation that one day Microsoft might support the intersection of C99
and C++ isn't holding up with my new (today) installation of VS2012. No
restrict, not even with the documented proprietary alternative, no
for(int i;.....
Besides, no interoperable Fortran (yet).
For the first time, there's auto-vectorization (only for SSE2 and AVX
architectures).
 
K

Keith Thompson

timprince said:
Speculation that one day Microsoft might support the intersection of C99
and C++ isn't holding up with my new (today) installation of VS2012. No
restrict, not even with the documented proprietary alternative, no
for(int i;.....

C++ doesn't have "restrict".

The lack of "for (int i;, ...)" is a little surprising, but I think I
read somewhere that they're planning to support it later.

[...]
 
A

Ansel

BGB said:
actually, MS does this a lot, though usually it is more like:
they have their new fancy stuff, and they want everyone to use it;
people continue doing stuff the old way;
MS realizes maybe it wasn't so great after all.


from what I had heard the idea was that they were planning on
basically making any new development on the platform have to use
their new stuff (presumably older software and third-party tools
would still work though).
it was at this point that there was backlash, and their changed their
position, and decided to allow traditional software to still be
developed with the new tools as well.

Like I said, that is a ludicrous thought. Overnight, just go and dump
decades of product technology evolution and mindshare for a stupid-little
touch UI paradigm? C'mon!
granted, most of what I heard about it came from various online forums
though...

Have a link?
 
A

Ansel

Rui said:
If a client asks for a metro style application then it is in your best
interests to develop a metro style application. If not, it might
just be enough to put you out of business.

Assuming one is a custom software developer for only one client who happens
to be his only potential for sale ever. Which may attract the IRS to act
some way (See the brochure "Contractor or Employee?", or something like
that). That said, Leo was obviously being facetious.
 
A

Ansel

Rui said:
It appears that the changes mentioned by Jacob Navia have the nasty
consequence of making it impossible to use standard C and C++ to
develop apps for Windows 8.

That is not true though. At least not any more than developing on prior
versions of Windows. I mean, you can't use *just* standard C to develop a
GUI app for Windows (unless you don't use the Windows APIs). If you choose
to develop for Windows using MS's high-level frameworks (.Net or WinRT),
then you have to accept the ways that MS provides it to you. If you choose
to develop even higher-level *style* apps *based upon* those frameworks,
then you just have to bite the bullet if you don't like the paradigm.
Luckily, though, if you are a C or C++ programmer, you don't have to *stand*
anything MS shoves at you--you can create or replace whatever you want with
what you want.
This being true,

It isn't true.
 
A

Ansel

Malcolm said:
?????? ??? ???, 25 ??????? 2012 10:16:17 UTC+1, ??? Rui Maciel:

I didn't write that. Rui did. The way you clipped it makes is look like I
wrote it if you don't analyze it.
 

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

Members online

Forum statistics

Threads
474,085
Messages
2,570,597
Members
47,219
Latest member
Geraldine7

Latest Threads

Top