In short, the whole point of a functional language is to express generic algorithms and procedures in terms of generic types. To re-use the logic of one specification across a swath of data types.
While you could express multiple overloads of the algorithms, each specified in terms of specific types, that would be missing the whole point of functional programming.
Higher level functional specifications are like generics. They match some generic set of parameters regardless of the types of the parameters. They then invoke other functions, some of whose overloads specify types, and usually a generic fallback.
Until run-time, there is no information about what the generics passed to that higher level function are, so there is no way to use static typing from compile time analysis.
Another aspect of some functional languages is that they make it easy to pass generically signatured functions to a generic algorithm. As long as the passed function takes n parameters, it can be passed and invoked by the generic algorithm, such as a comparison for a sort. Once again, there is no knowing what the types of the actual arguments will be until run time.
I therefore say you're full of shit and don't know what you're talking about, or have a very narrow view of what "functional" means.
I don't claim to know all functional languages. That's why I qualified my statements with "Erlang", which happens to be a well known language that is classed as "functional."
Table-oriented programming strikes me as a fancy name for something much older: data driven programming. Control structures which are pre-defined as "tables" of data that get interpreted at run-time.
Most functional languages are rather a way of expressing multiple function signatures and having the run-time decide which is the best match based on the parameters at run-time, not compile-time.
The longer you spend in programming, the more you realize it's all been done in years past and it's just some "new grad" thinking they've invented something because they never looked into the history of programming techniques used over the years, or because they never happened to touch the systems that did it before.
I've been programming for over 35 years.
I've come to the conclusion that it's all about marketting buzz-words and bullshit to try and sucker investors into spending money, not about actually improving the way people write code or think about problems.
As soon as the new "feature" was announced, I went into my account and disabled it.
If I didn't *give* you my email address, I don't want you emailing me.
But I'm pretty sure I know *why* Google did this instead of letting people use G+ messaging:
No one was logging in to their G+ accounts, so they weren't seeing messages.
While technically superior to Facebook, Google+ has virtually no uptake, and all the forced use in the world won't make people like it or use it. Give it up, Google. It's a failure.
WTF has dual booting got to do with a stable set of game programming APIs?
So *what* if you can dual-boot Steam OS?
The POINT is that Steam OS gives the game vendors something that hasn't been available in the Linux desktop market to date: a standardized set of APIs with a significant market share.
As to your snide comment about "I'm guessing you're not a programmer", you young whipper snapper, I've been slinging code for over 35 years and could run rings around your ass in C++ or Java.
SCADA systems have been notoriously vulnerable for 10 years. If they STILL haven't been fixed, then it has nothing to do with what I was told, but a complete and utter FAILURE on the part of the vendor and it's customers to address the KNOWN problems. Ten years is a long, long time to not get it right...
I have to agree. This is the first time I've ever heard of it! I have no idea what it's for, what it's limitations are, or where it might have gone had it survived. It is, literally, zero loss: it never existed as far as I'm concerned.
The sad thing is, though I download 2-3 movies a week, I haven't watched one to completion since last summer. They're just *lame*.
I couldn't even stomach sitting through the latest "Star Trek", and I consider myself a Trekkie, having watched all the original movies and every episode of every series.
There are lots of really good special effects in the movies nowadays, but it seems they've forgotten about the SCRIPT and the STORY.
I remember a disk copier for the Commodore 64 that used to display a flaming golden skull while playing pirate themed music. I didn't own a computer at the time, and my buddy had, of course, pirated the pirate software.:P
A PC with comparable hardware to a console is not that expensive. The problem is, when people say "gaming machine", it's usually a gaming fanatic who wants a 4K display and the graphics horsepower to drive it with all settings maximized. You don't get that with a console, and if you downgrade your components in a PC to a comparable level of performance with a console, you'll find PCs cost about as much as consoles do.
You see more software for MacOS because Apple has achieved a significant market share, so there are now enough users for it to be profitable to port to the platform.
SteamOS portends to do the same for Linux -- provide a large enough user community that it's worth writing software for. More importantly, it standardizes the gaming APIs so that game developers have a known platform to code to. Right now, there is too much divergence on the particular sound APIs and display software versions in what is collectively called "Linux" for it to be safe to port to. While there are big players in the server space (RedHat/CentOS/OracleLinux), the same is not true of the desktop, and that has seriously hindered uptake by the developers.
As per usual, it's been a chicken and egg problem. People won't go with a Linux box for the sake of games because there is a dearth of games. People won't develop for Linux because there is a dearth of users.
And outside of the US, we call both Repooplicans and Democraps "Americans" and have a good laugh at your perpetual stream of made-in-the-media "scandals".
I run KDE, but I had to disable that god-awful file indexing utility of theirs. It was sucking up over 30% of the CPU, and I use "find", not file indexing databases in the first place.
I have 4GB of RAM in the box. Even with a couple instances of Eclipse running and the databases firing (MySQL, DB/2 LUW 10.5, and PostgreSQL), I still have about 300 MB of head room that's unused.
In short, the whole point of a functional language is to express generic algorithms and procedures in terms of generic types. To re-use the logic of one specification across a swath of data types.
While you could express multiple overloads of the algorithms, each specified in terms of specific types, that would be missing the whole point of functional programming.
Higher level functional specifications are like generics. They match some generic set of parameters regardless of the types of the parameters. They then invoke other functions, some of whose overloads specify types, and usually a generic fallback.
Until run-time, there is no information about what the generics passed to that higher level function are, so there is no way to use static typing from compile time analysis.
Another aspect of some functional languages is that they make it easy to pass generically signatured functions to a generic algorithm. As long as the passed function takes n parameters, it can be passed and invoked by the generic algorithm, such as a comparison for a sort. Once again, there is no knowing what the types of the actual arguments will be until run time.
I therefore say you're full of shit and don't know what you're talking about, or have a very narrow view of what "functional" means.
I don't claim to know all functional languages. That's why I qualified my statements with "Erlang", which happens to be a well known language that is classed as "functional."
And it is most emphatically not statically typed.
Table-oriented programming strikes me as a fancy name for something much older: data driven programming. Control structures which are pre-defined as "tables" of data that get interpreted at run-time.
Most functional languages are rather a way of expressing multiple function signatures and having the run-time decide which is the best match based on the parameters at run-time, not compile-time.
Actually, it's not. Functional languages do not necessarily re-evaluate expressions. Take Erlang for example.
Rather, functional languages like Erlang explicitly do not allow RE-assignment of variables: assign once logic.
You're thinking of an expert system, which *does* re-evaluate expressions and rules based on the dependency tree it builds up while loading the rules.
Absolutely.
The longer you spend in programming, the more you realize it's all been done in years past and it's just some "new grad" thinking they've invented something because they never looked into the history of programming techniques used over the years, or because they never happened to touch the systems that did it before.
I've been programming for over 35 years.
I've come to the conclusion that it's all about marketting buzz-words and bullshit to try and sucker investors into spending money, not about actually improving the way people write code or think about problems.
The Micro Soft condom: snugger and with a built-in Viagra(tm) coating... :P
As soon as the new "feature" was announced, I went into my account and disabled it.
If I didn't *give* you my email address, I don't want you emailing me.
But I'm pretty sure I know *why* Google did this instead of letting people use G+ messaging:
No one was logging in to their G+ accounts, so they weren't seeing messages.
While technically superior to Facebook, Google+ has virtually no uptake, and all the forced use in the world won't make people like it or use it. Give it up, Google. It's a failure.
Hell, I even pre-date the GPL. :P
Ricky Stallman stopped by the University of Saskatchewan in Saskatoon to preach his new "GPL" idea while I was learning *nix coding...
For your information, I cut my wisdom teeth on BSD for the VAX 11/780 in the fall of 1984 and have been slinging *nix code ever since.
That's right. The ORIGINAL K&R 'C' language... and everything that has come since that has been worth learning.
God damn smart ass PUNKS don't know jack SHIT about the history of the systems they brag about "knowing".
WTF has dual booting got to do with a stable set of game programming APIs?
So *what* if you can dual-boot Steam OS?
The POINT is that Steam OS gives the game vendors something that hasn't been available in the Linux desktop market to date: a standardized set of APIs with a significant market share.
As to your snide comment about "I'm guessing you're not a programmer", you young whipper snapper, I've been slinging code for over 35 years and could run rings around your ass in C++ or Java.
SCADA systems have been notoriously vulnerable for 10 years. If they STILL haven't been fixed, then it has nothing to do with what I was told, but a complete and utter FAILURE on the part of the vendor and it's customers to address the KNOWN problems. Ten years is a long, long time to not get it right...
I have to agree. This is the first time I've ever heard of it! I have no idea what it's for, what it's limitations are, or where it might have gone had it survived. It is, literally, zero loss: it never existed as far as I'm concerned.
Buddy, if it's not worth watching for free, it sure as hell isn't worth paying for.
The sad thing is, though I download 2-3 movies a week, I haven't watched one to completion since last summer. They're just *lame*.
I couldn't even stomach sitting through the latest "Star Trek", and I consider myself a Trekkie, having watched all the original movies and every episode of every series.
There are lots of really good special effects in the movies nowadays, but it seems they've forgotten about the SCRIPT and the STORY.
Yo-ho, Yo-ho, a pirate's life for me!
I remember a disk copier for the Commodore 64 that used to display a flaming golden skull while playing pirate themed music. I didn't own a computer at the time, and my buddy had, of course, pirated the pirate software. :P
These issues have been flagged for roughly a decade. I have ZERO SYMPATHY for anyone who gets taken over.
A PC with comparable hardware to a console is not that expensive. The problem is, when people say "gaming machine", it's usually a gaming fanatic who wants a 4K display and the graphics horsepower to drive it with all settings maximized. You don't get that with a console, and if you downgrade your components in a PC to a comparable level of performance with a console, you'll find PCs cost about as much as consoles do.
You see more software for MacOS because Apple has achieved a significant market share, so there are now enough users for it to be profitable to port to the platform.
SteamOS portends to do the same for Linux -- provide a large enough user community that it's worth writing software for. More importantly, it standardizes the gaming APIs so that game developers have a known platform to code to. Right now, there is too much divergence on the particular sound APIs and display software versions in what is collectively called "Linux" for it to be safe to port to. While there are big players in the server space (RedHat/CentOS/OracleLinux), the same is not true of the desktop, and that has seriously hindered uptake by the developers.
As per usual, it's been a chicken and egg problem. People won't go with a Linux box for the sake of games because there is a dearth of games. People won't develop for Linux because there is a dearth of users.
Not to worry, though. We have our own media trying to spin minor events as "major scandals" to sell advertising, too.
And outside of the US, we call both Repooplicans and Democraps "Americans" and have a good laugh at your perpetual stream of made-in-the-media "scandals".
A cup of coffee is not "just a cup of coffee" unless you're drinking Folgers or Maxwell House swill!
I run KDE, but I had to disable that god-awful file indexing utility of theirs. It was sucking up over 30% of the CPU, and I use "find", not file indexing databases in the first place.
I have 4GB of RAM in the box. Even with a couple instances of Eclipse running and the databases firing (MySQL, DB/2 LUW 10.5, and PostgreSQL), I still have about 300 MB of head room that's unused.
Plumbers bill out at $60+ per hour here.