4 ms·
> You're out here talking down to people like "you whippersnappers don't know what you're doing" when you're literally decades behind the curve. I'm doing no s
by graycat 7y ago
> You're out here talking down to people
like "you whippersnappers don't know what
you're doing" when you're literally
decades behind the curve.
I'm doing no such thing. I've done
nothing wrong.
I know C and PL/I well, and I see little
or no influence on C from PL/I.
> Go has this, Rust has this, lots of
languages have this. Language that give
the developer the ability to control how
their data structures are laid out in
memory are not a revelation, we know about
them.
When I was at IBM's Watson lab, we
designed the language KnowledgeTool. Then
I looked at some of the literature of
programming language design. I didn't
find anything very new or exciting. It
looked like a dead field. I haven't
looked again since then.
Some years ago I made a decision, to do my
computing on just one of Linux or Windows.
What influenced me:
(1) After some trying, I didn't find any
documentation that explained even simple
things about Linux. E.g., just what is/is
not in a Linux "distro"? Do all the
distros have the same operating system
APIs, the same utilities, and run the same
applications? What are the differences in
the distros?
(2) What progress has Linux made in
exploiting 64 bit addressing?
(3) With Linux, for operating system
updates, do I have to compile the
operating system?
The books I found didn't say. Dirt simple
questions; no answers.
(1) For Windows, I was already using 3.1
or some such.
(2) I was and still am impressed by the
relatively high promises of backwards
compatibility.
(3) I looked around and saw some large Web
sites using Windows.
(4) Microsoft runs some astoundingly well
organized, huge server farms running
Windows, e.g., just for their MSDN
documentation. It appears that they have
operating system installation down close
to just push one button and bring up 1
million square feet of racks with servers.
(5) From what I've seen, I like the
Microsoft file system NTFS.
(6) I want a LOT of good documentation.
E.g.. for .NET I found, downloaded, read,
abstracted, and indexed about 5000 MSDN
Web pages. I put tree names in my code
and have a single keystroke in my editor
that will have Firefox display the page.
Maybe this is something like what
Microsoft does with intelisense -- but
since I don't know anything about
intelisense I can't say.
Microsoft's documentation is really good
in some respects -- the pages are nicely
formatted; they often have references to
related pages; there is some organization
to the pages; they spell the words
correctly; etc.
I get torqued at times, e.g., when they
use terminology without defining it,
explaining it, or linking to such content.
For several of their major efforts, I
still have no idea what they are driving
at -- as far as I can tell, they don't
explain. E.g., I went for some months
getting their news letters touting Azure.
Lots of talk about Azure. How good Azure
can be. How to get started with Azure.
And with all this, they never explained
what the heck Azure actually WAS!
Eventually Azure leaked out: It's a
Microsoft server farm set up so that users
can send their code and the farm will run
it. So it' cloud computing often
running some user's code. Okay. Now I
understand the basics of Azure.
But I'm reluctant to bet that the Linux
documentation is better.
(7) At the time, Microsoft had $40 billion
in cash; now they are worth about $1 T.
So, Microsoft DOES have the resources to
keep Windows, Windows Server, SQL Server,
various utility programs, malware defenses
and corrections, etc. up to date.
(8) Microsoft has a LOT of users, and
sometimes some of those users post good
answers to some questions.
(9) I found that if really get stuck and
really do have a serious question, then
there are people at Microsoft who will
give some fast one on one tutoring. E.g.,
early with VB.NET, I wrote a little
routine to use classic heap sort to sort
an array of instances of a class. I ran
the thing, and it ran for 600 seconds when
it should have run for about 2 seconds.
So, right, I didn't understand just what I
was supposed to do with polymorphism --
I was supposed to write an interface.
Gee, we did much the same back in Fortran.
Okay, polymorphism has a lot of hype
and, really, is much like what we were
doing with old Fortran; have to write an
interface; I found some examples,
tweaked a little, got an interface, and
running time about 3 seconds.
An amazing part is that somehow VB.NET
essentially dynamically discovered the
data type of the class I was passing to
the sort routine. So, maybe all that is
available via reflection. I was
impressed.
For GO, Rust, Haskell, as for Ada, Prolog,
APL, etc., for me for my work now mostly
no thanks.
I need to eat; for that, need to make
money; for that, starting a business. The
business makes use of computing, and I
have to write some software.
For that software, on Windows, I picked
VB.NET. It's fine with me. I suspect
that I could convert over to C# without
much trouble. One way to convert would be
just to run my VB.NET code through a
translator that writes out equivalent C#
code -- my understanding is that Microsoft
has such a translator.
As far as I can tell, VB.NET is a plenty
good way to get to the Windows services
and APIs, the .NET Framework, and the
common language runtime (CLR).
Maybe some programmers take pride in
learning lots of languages. Okay. But
that's not what I am: Instead, I'm trying
to start a business.
Besides, I don't see much attention to GO,
Rust, Haskell, etc. on Windows.
On being "behind", I don't think so: The
amazing thing about computing is the low
cost and high performance of processors,
storage, and communications.
Other than that, the significant things in
computer science and practical computing
have changed only very slowly.
To me programming is essentially defining
storage, writing expressions to manipulate
storage, the control structures
if-then-else, do-while, and call-return,
handling various data types, e.g.,
strings, dates, and handling exceptional
conditions.
To me the key to my startup is not the
computing at all -- it is just routine.
The key is some applied math I derived.
So, I'm an applied mathematician in
business who uses computers.
The computer tools I use are the ones I
want for my business. Since I won't be
using Go, Rust, Haskell, Java, Ada,
Prolog, etc., I don't pay attention to
them. Someday I may use some Python or
JavaScript -- if to, then so be it.
Microsoft has Iron Python that is compiled
and maybe has good or full access to the
.NET Framework. Okay.
To me, the future of computing will be in
mathematics, complete with theorems and
proofs.