J
jacob navia
This is a long story. It starts years ago since windows 3.1 and it ends
now, with "Metro".
SO, I downloaded windows 8, and installed it. That went fairly smoothly
but I forgot that windows doesn't come with the remote desktop
connection. I tried by all means to allow it, but couldn't. There is a
client app that lets you connect to OTHER machines, but no server. A few
hours wasted but well, that's OK.
Then, I tried installing the compiler. This small and fast software
takes only 5GB when installed, and the installation process is quite
fast, it took me just half a day.
The problem is that it kept crashing when installing, but (eventually) I
discover the right procedure: When it crashes do as you always have done
under windows:
REBOOT.
That solves many things. I discover that if you try to restart the
installer without rebooting it will crash in a few seconds. I tried for
hours until I discovered that you have just to reboot and when you do
that, the installer goes on automatically, skipping the problem
apparently.
Great! after hours of waiting I started Visual studio 2012. The
interface is great. It has a very similar flat look like in the old days
of windows 3.0. Everything is flat, the "buttons" the window borders,
everything, even lcc-win...
I remember all those interface guidelines that recommended us to use the
3D controls, avoid a "flat" look, whatever, fad is fad and the current
fad is the best, of course.
Then, I started looking at the documentation of the SDK. And then I
noticed that C is no longer mentioned ANYWHERE. The only reference is to
"managed C++" That is the Microsoft version of C++ stock full with
__gc_class, ref class etc.
In the reference to C++ I found this:
) The concept of a current working directory doesn't apply to Metro
style apps and there is no current drive.
Also, corresponding APIs such as GetCurrentDirectory and
SetCurrentDirectory are not available in the MSDK.
Say goodbye to:
chdir chdir chdrive wchdir getcwd getcwd getdcwd getdcwd_nolock
wgetcwd _wgetdcwd wgetdcwd_nolock
2) Say goodbye to the console. Metro style apps are GUI only; they don't
support console. Goodbye stdin, stderr, stdout.
3) Pipe functionality is not available to Metro style apps.
4) Environment variables are not available to Metro style apps. Goodbye
to getenv, putenv, etc.
5) A Metro style app cannot invoke another Metro style app or a
desktop app. Goodbye to system, spawnxxx execxxx etc.
6) C strings are out. Goodbye strcpy strlwr strlen, etc.
7) Low level I/O functions: fopen fwrite etc. These functions are
synchronous, which is not recommended for Metro style apps. In your
Metro style apps, use asynchronous APIs to open, read from, and
write to files to prevent locking of the UI thread. Examples of such
APIs are the ones in the Windows::Storage::FileIO class.
Great. Welcome to the future. This means that lcc-win will never be able
to generate any "Metro" applications since all interfaces with the
system go through a COM interface that would be feasible to adapt but
what a pain!
I just do not have the resources nor the will to follow Microsoft any
more in that direction.
The controls we are used to since windows 3.0 have disappeared (the
famous group box, for instance)... Many others are different, anyway
you have to rewrite absolutely EVERYTHING AGAIN, as well as you have to
learn windows again. The famous "start" button has disappeared, the
interface is completely different, all the reflexes are now WRONG,
you have to look for a few minutes after you find how to TURN OFF windows
But I eventually find that button.
Phew!
now, with "Metro".
SO, I downloaded windows 8, and installed it. That went fairly smoothly
but I forgot that windows doesn't come with the remote desktop
connection. I tried by all means to allow it, but couldn't. There is a
client app that lets you connect to OTHER machines, but no server. A few
hours wasted but well, that's OK.
Then, I tried installing the compiler. This small and fast software
takes only 5GB when installed, and the installation process is quite
fast, it took me just half a day.
The problem is that it kept crashing when installing, but (eventually) I
discover the right procedure: When it crashes do as you always have done
under windows:
REBOOT.
That solves many things. I discover that if you try to restart the
installer without rebooting it will crash in a few seconds. I tried for
hours until I discovered that you have just to reboot and when you do
that, the installer goes on automatically, skipping the problem
apparently.
Great! after hours of waiting I started Visual studio 2012. The
interface is great. It has a very similar flat look like in the old days
of windows 3.0. Everything is flat, the "buttons" the window borders,
everything, even lcc-win...
I remember all those interface guidelines that recommended us to use the
3D controls, avoid a "flat" look, whatever, fad is fad and the current
fad is the best, of course.
Then, I started looking at the documentation of the SDK. And then I
noticed that C is no longer mentioned ANYWHERE. The only reference is to
"managed C++" That is the Microsoft version of C++ stock full with
__gc_class, ref class etc.
In the reference to C++ I found this:
) The concept of a current working directory doesn't apply to Metro
style apps and there is no current drive.
Also, corresponding APIs such as GetCurrentDirectory and
SetCurrentDirectory are not available in the MSDK.
Say goodbye to:
chdir chdir chdrive wchdir getcwd getcwd getdcwd getdcwd_nolock
wgetcwd _wgetdcwd wgetdcwd_nolock
2) Say goodbye to the console. Metro style apps are GUI only; they don't
support console. Goodbye stdin, stderr, stdout.
3) Pipe functionality is not available to Metro style apps.
4) Environment variables are not available to Metro style apps. Goodbye
to getenv, putenv, etc.
5) A Metro style app cannot invoke another Metro style app or a
desktop app. Goodbye to system, spawnxxx execxxx etc.
6) C strings are out. Goodbye strcpy strlwr strlen, etc.
7) Low level I/O functions: fopen fwrite etc. These functions are
synchronous, which is not recommended for Metro style apps. In your
Metro style apps, use asynchronous APIs to open, read from, and
write to files to prevent locking of the UI thread. Examples of such
APIs are the ones in the Windows::Storage::FileIO class.
Great. Welcome to the future. This means that lcc-win will never be able
to generate any "Metro" applications since all interfaces with the
system go through a COM interface that would be feasible to adapt but
what a pain!
I just do not have the resources nor the will to follow Microsoft any
more in that direction.
The controls we are used to since windows 3.0 have disappeared (the
famous group box, for instance)... Many others are different, anyway
you have to rewrite absolutely EVERYTHING AGAIN, as well as you have to
learn windows again. The famous "start" button has disappeared, the
interface is completely different, all the reflexes are now WRONG,
you have to look for a few minutes after you find how to TURN OFF windows
But I eventually find that button.
Phew!