Forgot your password?

Comment: Re: A pretty low requirement (Score 1) 432

by tangent (#47197973) Attached to: Turing Test Passed

That's exactly my point. Whatever goal the CS community sets for itself on the road toward AGI, as soon as we achieve it, we redefine "intelligence" to not include it.

At some point, we're going to have a machine competent enough to demand its voting rights, then we get to fight the 1860s-1960s civil rights battles all over again. "It can't vote, it's just a computer!"

Comment: Re:A pretty low requirement (Score 5, Insightful) 432

by tangent (#47190773) Attached to: Turing Test Passed

I'd say we keep raising the bar.

"If a computer can play chess better than a human, it's intelligent."
"No, that's just a chess program."

"If a computer can fly a plane better than a human, it's intelligent."
"No, that's just an application of control theory."

"If a computer can solve a useful subset of the knapsack problem, it's intelligent."
"No, that's just a shipping center expert system."

"If a computer can understand the spoken word, it's intelligent."
"No, that's just a big pattern matching program."

"If a computer can beat top players at Jeopardy, it's intelligent."
"No, it's just a big fast database."

Comment: Re:The US gov has turned rogue ! (Score 1) 272

That last paragraph isn't too clear. Allow me to clarify it.

If if all rights are individual rights, then any law that denies specific individuals the freedom to exercise that right is unconstitutional. You can't say, "This right belongs to these people over here, but not to you because you are not in this special class of people." There are no special classes, as far as the US Constitution is concerned.

Comment: Re:The US gov has turned rogue ! (Score 1) 272

"rights" are individual

What does that mean?

Some people interpret the 2nd amendment to the US Constitution as protecting a right of the states or of "the miltia". This legal dodge is intended to let them say that the right does not belong to the citizenry individually, giving justification for gun bans. That legal theory was shot down six years ago in DC vs Heller, but that doesn't stop some from persisting in misinterpreting the amendment.

That is to say, if all of the rights protected by the US Constitution are individual rights, laws that deny free exercise of those rights are unconstitutional.

Comment: Re: It has a combined address/search bar (Score 1) 688

by tangent (#46874543) Attached to: Firefox 29: Redesign

At least they don't commit the inverse problem, where a single word is blindly assumed to be a search term just because it doesn't contain a dot or slash.

Chrome, Safari and IE all commit that UX sin, which is really annoying when you're trying to go to an internal LAN web server by name.

Chrome and IE let you hack around this by appending a slash (e.g. "myserver/") but Safari doesn't. You end up creating bookmarks purely to avoid having to type the FQDN or explicitly prepend "http://"

Comment: Re:Was FORTRAN really that hard? (Score 5, Informative) 224

by tangent (#46868965) Attached to: 50 Years of BASIC, the Language That Made Computers Personal

FORTRAN wasn't the language in 1964 that you think of as FORTRAN today.

Most people's concept of FORTRAN is FORTRAN 77 or its descendants, which was 13 years in the future from BASIC's introduction.

At the time of BASIC's introduction, FORTRAN IV was the current version.

FORTRAN wouldn't be ANSI-fied for another two years as FORTRAN 66, so every version had machine-specific features. Also, because FORTRAN's development was largely driven by IBM until FORTRAN 66, all the non-IBM versions were "nonstandard." Imagine if, today, every computer came with a C compiler and there were no ANSI or ISO standard to constrain its behavior. The last common reference would have been K&R '78.

Another fun feature of early FORTRAN was fixed column layout, common among languages invented in the punched card era. That is, you had to do things like start all statements in column 7 or later, because the first 6 columns had other meaning.

Early FORTRANs also had very primitive program structuring concepts, hardly raised from the level of assembly language.

Read through the Wikipedia article. You'll probably be shocked at how primitive FORTRAN was in the early 1960s.

Comment: Re:What happened to C#? (Score 1) 100

by tangent (#46666571) Attached to: Microsoft To Allow Code Contributions To F#

F# and Ocaml are pretty different, actually. They share about as much familial resemblance as C# and Java, or C++ and Objective C:

- The default "light" syntax in F# does away with most of the semicolons and other noise required in Ocaml

- The OO facilities are entirely incompatible

- The standard libraries are almost entirely different; there's only a tiny bit of overlap

- The mere fact of F# being a .NET language has many practical effects on the language, down to strange implementation details like what it means to rotate an 8-bit integer right by 8. F# and Ocaml do not do the same thing! F# differs because it behaves like C#, whereas Ocaml behaves like C in this regard.

- Ocaml has separate operators for integer vs floating point arithmetic; F# overloads the traditional set, though like Ocaml, F# won't let you implicitly mix integer and FP arithmetic

I could go on, but suffice to say, knowing one only gives you a bit of a leg up on learning the other.

Comment: Re:What happened to C#? (Score 1) 100

by tangent (#46666479) Attached to: Microsoft To Allow Code Contributions To F#

It typically takes about 60% of the number of code lines to accomplish something in F# as with C#.

Don't take it from me. Go to the MSDN library page for any given .NET API, scroll down to the Examples, and compare the F# and C# versions. (Not all pages have F# equivalents for the C# examples, but an impressive number do.)

It's no mystery why that is so. F# is highly expressive and doesn't require much boilerplate.

You can mix an F# library into a C# "solution" (urp), so the next time you need a new class or module in a .NET project, I challenge you to write it in F#. You might just get hooked. If not, learning an FP language changes how you think about software, in a good way, even if you never use a pure FP language again.

I also find that correct F# code is more obviously correct than equally correct C# code. It just seems to snap into focus at some point. This might be due to the mathematical rigor of pure FP, or it might just be another benefit of its expressive syntax.

Comment: Re: zero cost (Score 3, Informative) 198

by tangent (#45158831) Attached to: Visual Studio 2013 Released

The Express editions have a bunch of arbitrary limitations in them.

The two that bit me were:

1. You can't install plugins. I don't currently use any I can't live without, but several features in VS2013 -- e.g. NuGET, the thumbnail view replacing the scroll bar, better refactoring, visual indent level indication -- started out as plugins. Even if you take the view that eventually, all third-party plugin features eventually make it into the retail version, you're opting into being years behind the current state of the art.

2. The Express editions are artificially siloed into several versions, none of which has all of the features. If you need two features that are in different versions, at best you have to keep bouncing between the editions. If you need both features simultaneously, you're stuffed.

For me, the two features I needed simultaneously were the ability to create a mixed C# and F# program that ran on the desktop. To make a C# desktop app, you naturally need the desktop edition, but that edition doesn't include any F# support. For some demented reason, that's off in the Web edition, where it seems focused on ASP.NET development, not desktop development.

(And if you ask me why F#, well, this is Slashdot, isn't it? If I'd said Haskell instead, you'd just be nodding now. :) )

"Just think of a computer as hardware you can program." -- Nigel de la Tierre