HN user

wsgeek

34 karma
Posts1
Comments26
View on HN

Not trying to offend anyone at all but this is a prescription for the symptom not the disease. M$FT marketing would loooove to create WindowsLite. In fact the did it already back in the day -- and the public fell for it. WindowsME/SE/CE anyone? What utter pieces of garbage. The real problem is that they still have a moat (the Microsoft tax) on computer manufacturers which keeps their bloatware everywhere. It's one of the more brilliant things Gates pulled off and it's what allowed Ballmer's incompetence to go (almost) unnoticed for years. The other moat which the author correctly points out is inertia. All of the Microsoft faithful that don't want to learn something new (and I don't blame them -- that's a big letting go and reinvestment). And Apple could very well fall into the same hide-behind-the-moat behavior. It's what MBAs and beancounters gets you -- something Jobs was able to mostly avoid. But if we're being open-eyed about this, let's not put them on too high of a pedestal. I'm not at all saying I know where things are going but I do think it involves a Unix philosophy at the core. I think WSL bought Microsoft valuable time but it's embarrassingly obvious that Win32 has just turned to crap and bloat. The Linux/BSD APIs have their warts too but I'll take those warts any day.

GNU Guile 3.0 7 years ago

I would like to ask a genuine question (not trying to provoke anyone!). Where is a good use case for Scheme these days (in any form?). I really love the idea of the language but I can't figure out where it really does a _better_ job that these things:

-- JavaScript/Typescript for in-browser or even some server-side stuff (e.g., NodeJS)

-- Python seems to be dominant for non-browser code that doesn't need to be fast (or which needs to call Python libraries)

-- C/C++/Rust/C# in the performance space

-- And then the workhorse Bash/ZSH etc for command-line script-fu

I am sincerely asking, what's the nice good fit for a Lisp these days? I know Emacs uses it as its internal language -- fair enough. But other than that.

Thanks and I did not mean to hurt anyone's feelings, I just really am curious.

Async is great... all those times a thread is waiting for even fractions of a second can now be easily put to use... using the same thread if needed (a big win for single threaded Python for example).

I think everyone here assumes that Capita actually tried to use the 113 million and so they are confused as to why the website is so poor. It’s much more likely that about 10 million was spent on the website and the balance lined the pockets of various people in government and at Capita.

Lisps are all very, very cool -- you basically get to build your own world. And the macros -- so powerful. But the parens! Not the number of them, as that is about the same as other langs, but the placement of them:

Sample factorial function:

(define fac (lambda (n) (if (= n 0) 1 (* n (fac (- n 1)))))) ; <<--- look at those parens!

And with Clojure, you don't have proper tail recursion, so you'll have to add some Clojure-only thing in there to prevent the above code from blowing up for large numbers.

There's really no getting around it -- Lisp, for many people, is just hard to parse. Consider:

def fac(n): n < 2 ? n : n * fac(n - 1)

Yay! No noise. But I agree, there are some cool things about Clojure.

I think some of the comments here are unfair to Crystal and the careful thought (and lots of work!) that has been put into it. Projects like this should not be so easily dismissed as "also-rans".

I read through the Crystal language docs (meaning just the syntax etc) and as a seasoned C++ and Python developer who is _constantly_ looking for something with better performance (than Python) yet much cleaner (than C++), I think Crystal has a lot going for it so far.

Any "great" language should be able to take a thought in a developer's head and easily allow 1) the concise expression of that thought, and 2) efficient evaluation of that thought. I mean, those things we probably would all agree on.

It saddens me to say this, but C++ is falling over as a result of it's own weight. It's become a language for experts. Perhaps more than any popular language, it can take a simple idea in a developer's head and turn it into pages of code. It's actually quite embarrassing. I won't go into that further; judge for yourself (and sorry if that comment offends anyone -- I love C++ and use it every day). But you just can't beat the speed... Well-crafted C++ _should_ exceed the speed of even C (Why? Because templates...). As an aside, it's disingenuous to put Java in the same speed category as C/C++... The "fast" Java programs out there are basically C with Java wrappers (ducks thrown tomatoes). And just like C++, Java is very noisy (but for different reasons).

Python as we all know sort of takes the opposite approach, with dynamic typing a design-as-you-go mentality. And boy what a success it has been, with a flourishing package ecosystem. There's lots of good things to say about Python, but it's f*cking slow as hell (Cython is a hack, Numba shows promise, but PyPy isn't much faster... I was excited about Pyston but don't know where that went). It's not the fault of Python that it's slow -- it's the price of such a wonderfully dynamic language.

So enter things like Crystal. And trust me -- it's definitely early days with this language. But I like the fact that the designers really seem to care about the things that (to most of us I think) matter.... Taking an idea in our brain and putting it (simply) down in code, and then having that code run quickly. Yay!

In this day and age where we are swamped with hype from all of these new languages, let's give praise where it's warranted -- to the people are out there that are trying to refine decades worth of thought and finally "get it right".

My hat is off to those people out there that are forging ahead with these types of projects. Don't mind the criticism -- keep it up and great job.

I followed the directions to the letter, and everything installed correctly on MacOS. When I tried the same on Linux, though, I got tons of the following errors on the build step (keep in mind I do have boost development libraries installed in /usr/include):

(Sorry about the formatting.... I tried <code>). Anyway, TL/DR it cannot find boost.

$ ./node_modules/.bin/lerna run start --stream lerna info version 2.8.0 @jpmorganchase/perspective: > @jpmorganchase/perspective@0.1.1 start /home/dj/usr/src/perspective-clone/packages/perspective @jpmorganchase/perspective: > npm run compile && (npm run perspective & npm run compile_test & npm run compile_node & wait) @jpmorganchase/perspective: > @jpmorganchase/perspective@0.1.1 compile /home/dj/usr/src/perspective-clone/packages/perspective @jpmorganchase/perspective: > mkdir -p build build/wasm_async build/wasm_sync build/asmjs && (cd build/; emcmake cmake ../; emmake make -j8; cd ..) @jpmorganchase/perspective: -- Configuring done @jpmorganchase/perspective: -- Generating done @jpmorganchase/perspective: -- Build files have been written to: /home/dj/usr/src/perspective-clone/packages/perspective/build @jpmorganchase/perspective: Scanning dependencies of target psp @jpmorganchase/perspective: [ 1%] Building CXX object CMakeFiles/psp.dir/src/cpp/base_impl_win.cpp.o @jpmorganchase/perspective: [ 2%] Building CXX object CMakeFiles/psp.dir/src/cpp/arg_sort.cpp.o @jpmorganchase/perspective: [ 4%] Building CXX object CMakeFiles/psp.dir/src/cpp/calc_agg_dtype.cpp.o @jpmorganchase/perspective: [ 5%] Building CXX object CMakeFiles/psp.dir/src/cpp/aggspec.cpp.o @jpmorganchase/perspective: [ 8%] Building CXX object CMakeFiles/psp.dir/src/cpp/aggregate.cpp.o @jpmorganchase/perspective: [ 8%] Building CXX object CMakeFiles/psp.dir/src/cpp/base.cpp.o @jpmorganchase/perspective: [ 9%] Building CXX object CMakeFiles/psp.dir/src/cpp/base_impl_linux.cpp.o @jpmorganchase/perspective: [ 10%] Building CXX object CMakeFiles/psp.dir/src/cpp/build_filter.cpp.o @jpmorganchase/perspective: [ 12%] Building CXX object CMakeFiles/psp.dir/src/cpp/column.cpp.o @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective-clone/packages/perspective/src/cpp/calc_agg_dtype.cpp:11: @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective-clone/packages/perspective/src/include/perspective/calc_agg_dtype.h:12: @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective-clone/packages/perspective/src/include/perspective/schema.h:13: @jpmorganchase/perspective: /home/dj/usr/src/perspective-clone/packages/perspective/src/include/perspective/base.h:29:10: fatal error: 'boost/unordered_map.hpp' file not found @jpmorganchase/perspective: #include <boost/unordered_map.hpp>\n ^~~~~~~~~~~~~~~~~~~~~~~~~ </code>

A reasonable question, but the reality is that C++ is the ONLY choice for certain fields (basically anything where you need a high-performance "engine" under the hood). Finance, gaming, databases, etc.

I just skimmed the article, but if that was a crackhouse then wouldn't it be in a bad neighborhood? Then once their shiny new place becomes known to the local denizens, break-ins galore!

[dead] 9 years ago

Wonder what kind of "charitable donation" he made for that?

How Apple Cheats 12 years ago

This seems to be the same anti-competitive behavior that Microsoft was often found guilty of and chastised for. Come on Apple, please don't become an Evil Empire.

Gentlemen,

Steve is not being overly controlling... You are all looking at his "blocking" of Flash as a closed-minded policy. Consider this: Do Active-X controls run on the iPhone (or Android)? No -- they never have, and this is for technical AND business reasons. It would be fairly easy to support them -- just have WINE as part of OS X. The reason Apple doesn't do this is because they would be letting the fox into the henhouse and adding unnecessary bloat to a mobile device. Everyone seems to get this, which is why you don't hear complaints from all of the Java and Silverlight people about not being able to code for iPhones.

To another point: Ask yourselves -- What is Adobe's business model? They make NO money on the Flash plugin. It's free. They make their money on tools. If I'm the Adobe CEO, I would strive to have every app in the world written in Flash. Now who is close-minded? And by the way, Adobe could solve this VERY easily by making their tools output in HTML5, etc. Why don't they want to do this? Because they feel that HTML5 might be slow to adopt features that they already have. Oh wait -- now the shoe is on the other foot! Adobe realizes that the innovation of their platform would be stifled by any lack of features in HTML5. So why don't they have their tools output Objective-C code which could then be compiled by Apple's tools? My understanding of section 3.3.1 is that this is allowed.

Developer tools are the gateway to a platform. Microsoft knows this -- which is why they have some of the most mature tools around. When Microsoft adds a feature to their operating system, why do you as developers feel comfortable waiting for Flash, Java, etc to create an interface to that new feature? If I were a software company, I would embrace a platform and strive to be the best on it -- use every new feature to its fullest extent. Guys, this is what you get paid to do -- innovate, using whatever tools are necessary! It's about the end user experience. This is what makes an app sell.

So what Steve is gambling on, and it's a bold yet well-considered move, is that the iPhone/iPad/iPod platform (hardware + OS) will always be slightly ahead of competitors. And the developers who agree will retrain themselves to take advantage of the platform. Development tool vendors will do the same. If Apple were to release a killer hardware feature on the iPhone (which is their business model to do so!), how long would it take for Flash to incorporate it into not only their player but also their development tools? Would they wait until Android implemented it too before doing the release? This harms Apple, it harms developers, and it harms consumers.

Flash has a cross-platform, least-common-denominator approach to computing. This is a thing of the past!

You might be saying to yourselves that Microsoft never blocked anything -- Flash, Java, RealPlayer, etc. Well, they have a different business model. They want people to consider Windows as the defacto OS platform, and they want to support an ecosystem of ISVs that fill in all the gaps. It's a very well-conceived plan, and it only works because they have a near monopoly on the desktop. If they did not, then their business model would not work. Imagine if you will a world where Linux itself was not free AND they charged for the development tools AND those were the only tools you can use to develop for the platform (as is DevStudio). As you can see, Linux's lack of market share would make this an untenable business model.

Why do you think they charge money for their development tools? Eclipse, XCode, and dozens of others are free of charge (yes, I know there is a free version of DevStudio but it is missing some key features). They charge money because they CAN. Adobe charges money because they CAN. If Apple were to charge money for XCode, it would kill the platform. Think about this anytime you are bashing Apple for the high perceived cost of their computers relative to humdrum PCs -- you're getting software that was developed by companies that got the tools for free, and this means you will get better software.

Flash developers, you are right to be up in arms over the omission of Flash as part of the iPhone OS. But you're directing your anger at the wrong party. First, I understand that you are loathe to have to learn a new toolset (which you feel is inferior to Flash) to get your apps out there. Years of experience that you have will help to bridge that gap! You are good developers and you will find a way. You should instead be asking yourselves, why are there no 3rd-party Flash development tools that compare to Adobe's?

http://en.wikipedia.org/wiki/Adobe_Flash#Third-party_tools

Why is the .SWF format not entirely open?

http://en.wikipedia.org/wiki/.swf#Licensing

Adobe has great tools that create compelling apps -- there's no denying that.

Microsoft has great tools that create compelling apps -- there's no deny that.

And Apple has great tools too. Closed systems are a thing of the past (remember when Microsoft had "hidden" APIs that their apps used?). By being forced to expose the hidden APIs, it removed the need for cross-platform emulation/library layers. Yes, it's more work for you, but c'mon, you're good developers, the best at what you do. You will find a way.