HNHacker News
TopNewBestAskShowJobs

bitcracker

136 karma · joined September 12, 2011

submissionscomments
bitcracker··on Fluid: A UI Prototyping Tool
That's awesome! I have searched for an offline tool like that and it looks very good. Thank you!
bitcracker··on Why is Clojure so slow?
> The majority of the Clojure startup time is spent on initializing the Clojure runtime.

That's correct but even without this startup time Clojure is significantly slower than other functional languages. Look at SBCL and Racket in

http://shootout.alioth.debian.org/u32/which-programming-lang...

That doesn't mean that I don't like Clojure. I am even considering it for a business project. But Clojure is definitely unsuitable for small apps (shell scripts etc.)

Btw the benchmark listing doesn't take LuaJIT into account. This JIT is the fastest I have ever encountered, way ahead of JVM regarding startup time.

bitcracker··on Why is Clojure so slow?
According to this link precompilation with AOT produces worse results than normal JIT execution. If so, what is AOT useful for?

"Da AOT-Code über verschiedene Programmausführungen hinweg bestehen bleiben muss, ist die Leistung von mit AOT generiertem Code nicht so gut wie die von mit JIT generiertem Code."

bitcracker··on Why is Clojure so slow?
It's an implementation problem of Java.

I never understood why the JVM folks didn't get along to develop a JIT cache. That means the first time I start a Java program it would run normally slow. But from the second run on it would use the native cache and run immediately fast with native performance. That would eliminate many performance problems of Java.

I know that there already is a solution which uses a Java server to serve the application as client which reduces the startup time but this is not very convenient to use.

The slowness of Clojure is a typical problem of all languages which are based on JVM. Racket Scheme, for instance, which is a Lisp like language but NOT based on JVM, needs just 0.062s to print "Hello World" (compiled) on my system.

bitcracker··on Easy 6502 - Learn the 6502 Assembly Language
> FPGAs are very expensive.

Yes currently, but price depends on demand. On the other side, if FPGAs remain expensive then Assembler could become even more important to put as much code as possible into an fpga.

> can be likened more to C than assembler.

For that reason I mentioned the word Assembler in quotes. Btw VHDL is much more like Ada than C while Verilog is different from both.

bitcracker··on Easy 6502 - Learn the 6502 Assembly Language
> So, why would you want to learn 6502? It’s a dead language isn’t it? Well, yeah, but so’s Latin

6502 isn't dead, it has even been relaunched:

http://www.h-online.com/open/news/item/Relaunched-the-6502-m...

6502 was my first processor, and it was real fun to learn Assembler. I used also figForth and learned from the ground up how it was implemented. Amazing days!

Today Assembler isn't fun anymore.. I don't even know the exact name of my current quad core :)

Could it be that FPGA programming will be the next golden age of "Assembler"? Content industry works hard to lock computer hardware with DRM. So if we want to keep our freedom then we'll have no other choice than to build our future computers ourselves - again.

bitcracker··on Another year of Clojure
IMHO there is no better and faster way to learn a new programming language in-depth than to use it seriously in a project. Of course you have to be an experienced developer to do that, and you have to have the time and freedom to afford it :-)

This article motivated me to consider Clojure for a new business project. Clojure can use the JVM infrastructure, that's a big advantage. Java has become too boring for me (C# also).

bitcracker··on Linux grabs its single biggest win
Please don't misunderstand me: Weapons are bad. But if we can't avoid them then it is better to use the best option to make bad things a little better.
bitcracker··on Linux grabs its single biggest win
I am also against warfare but if Linux (or OSS in general) helps to enhance the security and realiability of weapons so that they don't kill civil people accidently then it's ok. It's not Linux or GPL what makes things good or bad - it's the people who use it.

If you wan't GPL to be non-violent then you also have to forbid GPL usage in embedded systems, because air planes, cars etc. also can kill people.

And don't forget that Linux users normally pay back to the community. Look at SE-Linux, or SE-Android, for example.

bitcracker··on C++11 and Ada 2012 - renaissance of native languages?
> Ada is "mainstream"? C++ "failed" in the 1990s?

Do you realize that this report is written in "electronic design", or an embedded systems journal? It's not talking about the PC desktop here.

I don't know the exact numbers but Ada still plays a big role in security critical systems (airplanes etc.).

> Managed languages lead to "applications that are difficult to maintain over time"?

I think this is true regarding to embedded systems because they evolve very fast. Microsoft would have to take much effort to be on par, for many different kinds of embedded systems. The second point is that Microsoft's support for their operating systems is not unlimited. So if you have a long lasting embedded system technology then you simply cannot afford to use .NET.

bitcracker··on Wozniak calls for open Apple
> Porting XCode and emulators to windows/linux is probably a huge undertaking

Apple doesn't need to port their software to Windows or Linux at all but simply allow to use OSX in an emulator. Even this is forbidden by Apple (it's not a surprise).

I think it was a huge mistake of Apple to allow iOS development on Macs only. If they hadn' make this mistake almost all people would develop for iOS mobile devices now, and Android wouldn't have had any chance to win. In some sense Steve Jobs himself was the main reason that Android became so successful :-)

> In addition, the cost of a Mac for development ($599 for a mini) is not stopping anybody,

It has stopped me. I have a pretty good PC, and I never accepted that I would have to buy an additional Mac solely to fed my iphone. It's a waste of room and money. For that reason I use Android.

bitcracker··on Engineering zero-defect software
Agree. Even when all static analyzers in the world would say "Error free" it doesn't mean that your code is really error free. It just says that their implementation wasn't able to detect the other possible errors in your code.

Btw. one of the first steps to zero-defect software is an appropriate programming language. I wouldn't choose C oder C++ but Ada or SPARK or so.

bitcracker··on The evolution of Lua
As long as you handle usual letters it is no problem to miss Unicode.

How nice Unicode is I always realize when I copy and paste some foreign text from somewhere into Emacs or Racket Scheme and everything works just fine.

bitcracker··on The evolution of Lua
Very good!
bitcracker··on The evolution of Lua
One serious thing Lua is still missing is native Unicode support (correct me if I am wrong).

When I discovered Lua the first time I was enthusiastic. The JIT is so fast, and everything seems to be fine. But missing Unicode is a big disadvantage for Lua. Unicode is a must to have for modern languages. It makes things so much easier when you know you don't have to convert any fonts because they are all presentable in Unicode.

bitcracker··on Functional Programming in C++
I disagree. Of course not _everybody_ can abandon C++ but some really can. I have developed C and C++ software for many years but with Racket Scheme (a functional language) I am MUCH more productive now. This works because I think and code functionally which is a totally different approach to the way how coding in C++ is done.

I doubt that functional programming in C++ will be as elegant and effective as in a real functional language where everything is functional. The approach of C++ seems to be and to support "everything". But will that support more maintainable code? I don't think so. Quo vadis, C++?

Btw Implementations like LuaJIT demonstrate that virtual machines have become amazingly fast. So, even for performance you don't need to be stuck to C++.

bitcracker··on C++11 Continuations - High Performance JNI
> I'm really happy to see "lower-level" languages adopting these features. Makes so many problems that much easier to solve!

Wouldn't it be much easier to use a high level language like Scheme which has these nice features built in already, and let C/C++ just do the lower level stuff they were created for?

bitcracker··on Hacker News Redesign
> I'm sorry, but this is a perfect example of the difference between design and eye candy.

You are absolutely right. Eye candy can quickly become eye straining.

Hacker News is successfull not only because of its content but also because of its design. It's simple and pragmatic, as it should be. I always need only seconds to read the headlines of the whole page.

Hacker News, please don't change anything!

bitcracker··on Rust - a new programming language from Mozilla
Interesting! I am curious how it develops.

Another option (addon) would be to use commented invariants like in SPARK which are tested against the code by an automatic verification system even before compile time. To get an impression what it means, please read:

http://www.adacore.com/home/products/sparkpro/tokeneer/disco...

bitcracker··on Rust - a new programming language from Mozilla
I have real experience with ADA (also C, C++ and many others), and I have discovered that ADA is brilliant, a way underestimated language. But ADA requires a lot of discipline which is a possible reason why many developers don't like it.

I also like Rust. I haven't tested it yet (will try it) but the first impressions are good. But I think Rust will not be on par with ADA 2012 until it supports range values (like x : Integer Range 1..100) and contracts at least.

Asserts are good for the beginning but a language for really big software should have verification mechanisms which are implemented in SPARK (a subset of ADA).

bitcracker··on Rust - a new programming language from Mozilla
I would recommend to read this story about Ada which is the preferred language for highest quality software:

http://www.adacore.com/home/ada_answers/business_benefits

bitcracker··on Poll: What is your primary operating system
The awesome thing about Linux is that I got a Unix like system for free (Windows 3.1 was mainstream at that time), and that I can do in Linux whatever I want to do because it is open source. Linux hasn't lost its fascination although I am a bit disappointed about the current misleading too much tablet oriented developments (Gnome 3, Unity).
bitcracker··on Poll: What is your primary operating system
Yes, but it was fun to configure the modem and to calculate monitor modelines to get X11 working :-)
bitcracker··on [dead]
I would like to see a graphical chart where I could follow the votings over time. That would be interesting.
bitcracker··on Poll: How long have you been programming?
Started with Basic and 6502 Assembler on the first available Personal Computer (Commodore PET-2001).
bitcracker··on Poll: What is your primary operating system
Happy Linux user since 1992. Sometimes I also use Windows in VM for customers.
bitcracker··on Poll: What's Your Favorite Programming Language?
LISP and Scheme still have one killer feature all other languages don't have: extremely powerful macros.

http://www.apl.jhu.edu/~hall/Lisp-Notes/Macros.html

This article gives a good insight what about LISP is so awesome:

http://www.defmacro.org/ramblings/lisp.html

I also vote for Ada because this is the best language I know to write maximum quality software. I would love to make money for living by coding Ada for Embedded Systems.

bitcracker··on Angelina 101
> Evolution is a pretty cool tool.

This is not evolution, it's exactly the opposite. Take the cake sample. You have a goal (the cake) and let the AI system find a way to reach that goal. Evolution has no goals at all.

bitcracker··on We Need to Talk About Android
Android 2.3 is good enough for most smartphone users. Android 4.x will be good enough for most Pad users.

These are the two distributions I expect to be successful in the long run.

bitcracker··on Julia is a high-level, high-performance dynamic programming language
Thoughts on porting NumPy to PyPy:

http://technicaldiscovery.blogspot.com/2011/10/thoughts-on-p...

← PreviousPage 2 of 4Next →