|
We are excited to announce that since then we’ve released a new version of the desktop app converter, adding support for great new features and fixing several issues to provide a more stable environment. Because management might ask for this sooner or later
|
|
|
|
|
But why?
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
|
Aha! That makes it clear.
...as clear as mud!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
By the end of the migration its a fully universal app that should be able to run anywhere (ie on WP10 or your XBone).
For most apps I suspect the stopping point would be better integrating with the w10 start menu. (ie not looking like puke if a user tries pinning it as a tile.)
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Another day, another zero-day vulnerability discovered in Flash - one that’s actively being exploited in the wild. The company hasn’t yet released a patch but it’s promising to do so this week. Just confirming that we're still living in the real world. They didn't switch us out to a simulation.
Unless the simulation is running in Flash?!
I'll be in the corner if anyone needs me.
|
|
|
|
|
Kent Sharkey wrote: Just confirming that we're still living in the real world. I thought the world around us was the Matrix. Isn't it Morpheus ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
In a lovely demonstration of light's quantum effects, physicists in the UK have just mixed a molecule with light at room temperature for the first time ever. So.... they left something on the window ledge?
|
|
|
|
|
They mixed it, so there must have been a bowl involved.
cheers
Chris Maunder
|
|
|
|
|
The US broadband industry has lost its lawsuit attempting to overturn the Federal Communications Commission's net neutrality rules and the related reclassification of Internet service providers as common carriers. I'm sure that will settle things from now on
|
|
|
|
|
If it’s not already, Scala deserves a place at or near the top of your to-learn list — something I saw definitive evidence of last fall when I was coming off a post-doc position and considering leaving academia for the tech industry. You mean they're remaking that Eddie Murphy film?
|
|
|
|
|
I read What is Scala[^] and I wondered...
What's the point? What can it do that C# can't? Why should I use it when my C# (or my Java since it seems to want to compete with Java) is perfectly fine?
It does't look like a develper language (from the web site) so who is the target audience of Scala?
Overall... Meh...
|
|
|
|
|
Super Lloyd wrote: What can it do that C# can't?
Super Lloyd wrote: Overall... Meh..
My sentiments exactly.
I love OOP as it is in C++, C#, Java. These kids and their darned new languages.
Then I think, wait do I sound like those devs when I was starting out who would say things like,
"What do you need OOP for anyways? C is perfectly fine without it. I've got functions. These kids and their new languages."
And when those C guys were learning languages the older devs would say to them:
"What do you need all that high-level stuff for anyways? Assembler is just fine : mov ax, 4. These kids are so weak these days."
And before that, the older devs would say,
"These darn kids and their Assembler. All you need is 01010001 00110101"
It makes you wonder about it all.
|
|
|
|
|
Yes, yes.. but read the "advantages of Scala"
- Scalable language... The explanation is lacking there, no idea what they are talking about, will give them the benefit of the doubt... it seems to say Scala is an hybrid of automatic (infered) strong typing and script / compiled language.. mm.. . maybe...
- Object Oriented, ahem, C# too
- Functional, ahem, C# too
- Seemless Java interop, well C# interop seemlessy with other C# hey!
- Function are object, well C# too
- Future proof (because async friendly), well C# is leading the charge with async friendliness
- Fun, well C# is fun
Is that all?
Winner: C#! All those point were like there since 1.0! (well async is new in... 4.0? I will give it that, only 2 years old)
|
|
|
|
|
I like the way you think!! C#, the clear winner.
|
|
|
|
|
Super Lloyd wrote: Object Oriented, ahem, C# tooFunctional, ahem, C# too C# isn't really functional... You should try F#. I believe F# is to the CLR what Scala is to the JVM
|
|
|
|
|
By no stretch of the imagination is C# functional. F# yes, C# has a few functional features, but lacks many more than it possesses.
Functions in C# are NOT objects, they don't support composition, delegates are more like function pointers than higher order functions. Some of the expression tree stuff approaches functional views of higher-order functions, but I suspect you really don't understand functional programming.
C#'s async is a different level of support for concurrency. Functional programs have immutability throughout - as such race conditions are literally impossible - that's what they mean by async-friendly. No imperative language (with the possible exception of Rust) offers anything like the same safety.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Alright, "perhaps" scala has some scalability feature and perhaps some functional language have missing feature from C#.
Aside from that, as to composition, I can't see what C# is missing... from some F# composition sample C#, behold!
Funct<T> LoggingVersion(Funct<T> func)
{
return () => {
Console.WriteLine("Calling method");
return func();
};
}
Funct<T, T> x = ....;
Funct<T, T> squared = t => { var tmp = x(t); return tmp * tmp; };
Although.. mm... F# syntax would yet bit leaner then C# on the squareIt above sample I would admit....
modified 15-Jun-16 11:00am.
|
|
|
|
|
Compare that to Haskell (from the top of my head).
There is the func1 . func2 . func3 syntax, which is true composition (or, mathematically, (g o f)(x)=g(f(x)).
Then there is the following.
add x y = x + y
increment = add 1
Is this currying or partial application? I never seem to know
And of course Haskell (and F#) functions are pure, meaning they have no side effects.
C# functions aren't really functions in the mathematical meaning, they are procedures.
Because functional languages are basically math you can reason about programs (in theory). You just know that an add function will always have the same output for the same input. You also know that the order in which you execute functions don't matter to the workings of that function. There isn't some hidden variable anywhere that gets set when you execute another function first
But having mathematical functions is just one feature of functional languages. Let's not forget immutability and (complete) lazy evaluation!
Unfortunately, I haven't yet discovered if "studying evening after evening wondering how the hell to do something, that would've taken you a minute in C#, because you can't have state or mutability" is also a feature
|
|
|
|
|
Sander Rossel wrote: Unfortunately, I haven't yet discovered if "studying evening after evening wondering how the hell to do something, that would've taken you a minute in C#, because you can't have state or mutability" is also a feature
I did suffer from the same problem!
|
|
|
|
|
That's where Monads come in in Haskell.
The IO monad wraps a computation and allows it to have side effects (writing/reading).
getLine = do c <- getChar
if c == '\n'
then return ""
else do l <- getLine
return c : l
Most of that is obvious, it reads individual characters and builds up the line (a list of Char) using the ':' operator (the list constructor - 'a' : "bc" is "abc".
It effectively gives you a small imperative sub-language, but retains functional purity. A benefit of this is that side-effects are localised.
It will be evident from the signature of getLine:
getLine :: IO String
That these side-effects are present.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Yeah, but even IO is somewhat "pure" in that it doesn't affect the state of the system.
I had to create a card game for school, but how are you going to keep the drawn cards and scores in memory (no file or database)?
In the end I just put the cards and scores in a variable and passed it to just about every function in my application.
According to the teacher that was fine, but it feels dirty...
|
|
|
|
|
That's exactly what the State monad is for - it allows you to create state that, from that point, is implicitly passed through a series of computations.
Here's a little example of its usage as a stack...
import Control.Monad.State
stackManip :: State Stack Int
stackManip = do
push 3
a <- pop
pop
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
That, quite simply, is not function composition. It is simply wrapping one function in another.
LoggingVersion is not even a function, as it has side-effects (writing to console).
Function composition is much more concise, and pure:
descendingSort = (sort . reverse)
Where ".", in Haskell (the functional language I'm most familiar with) is composition.
No need to specify that arguments must be passed from one to another.
Because the two functions are pure, the compiler can perform quite aggressive optimisation and, if multiple cores are available, arrange for them to be distributed between them.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
This is just a nicer syntax for it!
Don't get me wrong, I think nicer syntax is important. It does reduce error rate and make life easier. It can be a selling point.
But it's simply wrong to say C# doesn't do it.
|
|
|
|