|
Smart isn't the problem, you could do it. It would take too much effort and time.
|
|
|
|
|
I disagree. Even the simplest compiler is a form of expert system that contains decades of expertise of persons who are unquestionably smarter than I.
Add to that, that I am really not interested.
Having said that, I have created interpreters for one or two simple languages.
For instance: CommScript[^]
But a full-on compiler for a general purpose language? Particularly a modern one? No. I can't do it.
|
|
|
|
|
It doesn't even matter, that entire angle is a straw man. Nowhere do the rules say that you have to take over every single task of the compiler, there are no rules.
You can even use the compiler that you're outsmarting, or even an other one. That's not against the rules because there are no rules.
A compiler also can't try things, in the sense of actually running some code on the actual data and seeing what works out best.
You will win every time, and it is impossible to lose.
|
|
|
|
|
You can have the best compiler in the world. It just won't be faster with idea that is inherently slow. You don't believe? Compile bubble sort and quick sort. Tell me if that genius of a compiler improved a performance of a bad idea on its own.
|
|
|
|
|
Hahahahahahahahaha. No. Been there, done that - the same algorithm on the same set of images got from 30 ms to 12 ms of running time only by manually optimizing memory access. Is it important? Well, I have about 80ms to apply other 30 algorithms to that images so yes, it is
* CALL APOGEE, SAY AARDWOLF
* GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
* Never pay more than 20 bucks for a computer game.
* I'm a puny punmaker.
|
|
|
|
|
Duncan Edwards Jones wrote: You are not smarter than the compiler.
I am not able to turn source code into machine instructions like the compiler, but it knows nothing about my requirements and constraints and can't pick the correct algorithm for me.
|
|
|
|
|
Precisely - you tell it what you want (and your constraints), and let it work out how best to do it.
Like you do with SQL, or network routing or so many other aspects.
A business software product can expect to have a lifetime of a decade - you don't know that your performance tweaks will still be applicable in 10 years time.
This is why we have so much JavaScript (and indeed java) around - raw performance has become (in most cases) a hardware and OS level concern.
|
|
|
|
|
Duncan Edwards Jones wrote: you tell it what you want (and your constraints), and let it work out how best to do it
Yeah - it doesn't work that way I can't tell my compiler - "I need a function to find a cluster of similar documents under 1 s on such hardware - would you make one for me please?"
|
|
|
|
|
Not as much as correctness and not at the cost of maintainability.
|
|
|
|
|
In software for PC, Apps and similar (which is the biggest part of the pie currently) I fully agree with you.
But in software for rapid response electronics... performance is still a very important aspect.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
And big data wallahs demand miracles.
One place I was at was asked to process over a million DB records per second -- it was sort-of hidden/buried in the requirements, and not noticed until one of our devs sat down and calculated what the reasonable-sounding requirements really meant.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
PIEBALDconsult wrote: Not as much as correctness and not at the cost of maintainability.
True. But I have speeded up scientific code by a factor of 2-10 by recoding inner loops in assembly language. In at least one case, it made the difference between using slower (cheaper) and faster (more expensive) hardware for a system. In all cases, it made larger analyses feasible.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
Correctness, sure. Cost of maintainability? Perhaps for a typical in-house enterprise app. If you sell software to customers they couldn't care less about your maintainability, but will switch to competitors if your performance is worse; your savings in "maintainability" will cost them in hardware and electric power.
|
|
|
|
|
Also, if highly optimized parts can be incapsulated and well documented maintenability is reasonably kept. Computing intensive operations require performance, as real time operations do. I'm lucky: I have to provide real time responses following computing intensive operations.
* CALL APOGEE, SAY AARDWOLF
* GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
* Never pay more than 20 bucks for a computer game.
* I'm a puny punmaker.
|
|
|
|
|
Speed of computing is the reason computers exist in the first place. So, I'll go with "yes".
|
|
|
|
|
Thanks to the discovery of a new material, a cooking pan could generate enough electricity to charge a cellphone in just a few hours. The team found that a combination of the chemical elements calcium, cobalt and terbium can create an efficient, inexpensive and bio-friendly material that can generate electricity through a thermoelectric process involving heat and cold air. I love the smell of frying cellphone in the morning
I'm a little worried they insist it's 'non-toxic'.
|
|
|
|
|
Sounds like metalurgists; not engineers.
|
|
|
|
|
So if you and your missus wear matching rings, you're a thermocouple?
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
The Pwn2Own 2017 hacking contest, which celebrated its 10th anniversary, concluded after three days in which security teams hacked away at browsers and operating systems. Microsoft’s Edge seems to have been hit the hardest, while Chrome remained unhackable during the contest. On the bright side, hackers don't go after unused products
|
|
|
|
|
What's to complain about?
It's still the safest ms browser ever!
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Oh come on, there are literally dozens of Edge users.
|
|
|
|
|
Rust, Go, and PowerShell are also gathering steam in the analyst firm's biannual language rankings For those who only code in popular languages
Yeah, I promised myself I wouldn't use these any more, but it's a slow news day. And some people like popularity contests.
|
|
|
|
|
Quote: The rankings are based on a recently retweaked formula that assesses code usage in GitHub and language discussions in Stack Overflow. So it's the buggiest, requiring more revisits than any other language, and an awful lot of people on SO bitch about how cr@ppy it is.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Pearls of wisdom for programmers collected from leading practitioners. There will be a test later
Nope, I haven't read all of them
|
|
|
|
|
#2 : Apply Functional Programming Principles
um, no.
|
|
|
|