|
W∴ Balboos, GHB wrote: "Flying" across Europe and into Asia, via the live view camera on the ISS, the obvious hoax is all too evident. The separation between between the continent of Asia and the alleged continent of Europe is the Ural's. A lot of history you choose to ignore there.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eddy Vluggen wrote: A lot of history you choose to ignore there. History doesn't really define land-masses associations with one another. Perhaps, in the ephemeral time scale of human nations it has some sort of relevance but for all their shouting and jumping up and down and wars and conquests the continents just don't seem to move.
Western Asia as its own continent? That came about in the era of belief in a "Flat Earth" - map makers from the time before pasta was brought to Italy and the discovery that their little plague ridden plot wasn't the center of the earth.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
No language has casued me more grief in my 30+ year career than CSS. It is almost like some form of black magic, where you can never be 100% sure what a page will look like. Even for the simplest designs you have to allocate 4 hours, just to make sure it looks the same in all browsers.
Why the decision to write an enormously complex layout engine, and then keep adding more bloat to it every year? Why not let the page designer interact with the layout engine instead, as it is laying out the elements on the page? It could be done through JS calls, or even by writing simple math formulas into the CSS, that refer to the sizes of other elements. For example "the width of this element should be equal to half the width of that element". Then let the browser's layout engine simply be a multi variable equation solver.
End of rant.
Bjorn
|
|
|
|
|
CSS the worst language? Surely not.
There is BrainF*ck, or worse - VB & Javascript!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Haters are going to hate.
I don't know much JavaScript, never worked in it.
But I have made a very nice living/career over the last 43 years with VB.
All languages are just syntax. VB is a tool just like any other. If you misuse an axe bad things are going to happen to you.
I am sorry to learn that someone who does "Thought for the Day" could be such an elitist.
Oh well Nobody is perfect, including both of us.
A lot of people bash things they don't understand, or use properly.
|
|
|
|
|
It's not elitism, it's "On Error Resume Next". Any language which supports that should be strung up and whipped ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Just never use "On Error Resume Next" and turn on Options Explicit and Strict. Easy. I much prefer C#, but I spent years in VB and then VB.Net and never understood the hate. Still don't. If the hate is because of the capability of misusing it, I can do that in C# too. Or maybe it is because it has built-in settings that are questionable to non-VB users (Explicit and Strict)? Maybe I'm missing something. But I don't care as I don't use VB anymore (since 2005). I prefer C#'s syntax. On the other hand, if someone could explain the reason VB is so bad (without the hate), I would welcome the education. Send me a private message or point me to a well-written post.
Mike
|
|
|
|
|
nothing wrong with VB.net, except MS decided to stop growing the language; about that time I decided to fully switch over to C#.
I worked in VB (classic) for years and got a lot done, it was a great way to get a quick UI working that worked. plenty of hooks to tie into the lower API of windows and c/c++ libraries. when .net came out, it was a no brainer to switch.
each language has it's strong points and weak points, but times change. a couple years ago I wouldn't have though you could use Rust for web dev but now we can with webassembly. I didn't think I would like javascript because of it's typeless programming, but have now found it's wonderful for web.
if it wasn't for Android, I'd never touch Java again though, just something about that language that I find painful. no offence to Java devs out there, it's just not my cup of tea.
|
|
|
|
|
It could have been much, much worse:
The Languages Which Almost Became CSS - Eager Blog[^]
bjoernen wrote: Why the decision to ... keep adding more bloat to it every year?
Because without that "bloat", we'd still be stuck using tables and spacer gifs for layouts, and fiddling around with transparent gifs for rounded corners or drop shadows.
We wouldn't have tools like Grid Layout[^] or Flexbox[^]. We wouldn't have sticky positioning[^] or multi-column layout[^].
bjoernen wrote: Why not let the page designer interact with the layout engine instead, as it is laying out the elements on the page?
So now you've turned your four hour project into a sixteen hour project, because you have to write the code twice, and test it in all the different versions of the browser implementations of your new system, as well as all the browsers that don't support it. (It's already bad enough if you still need to support browsers which don't support modern CSS layout, but thankfully those are vanishingly rare these days.)
Plus every new browser needs to support both systems, since you can't reasonably expect every site on the internet to upgrade to your new system at all, let alone overnight. Which introduces more bloat, and more bugs, and more cross-browser inconsistencies.
Or, more succinctly: xkcd: Standards[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks for the link, interesting read.
If PSL96 had been implemented instead, CSS would be a lot easier. You simply express sizes of things in terms of sizes of other things. It would have resulted in a much smaller language, that most people could grasp. And people would create libraries of handy expressions that accomplish the very same things that flex and grid does today. With the huge difference that you can look at the code and see what happens. Right now it is just a back box that almost no one understands.
Browser support would be easier and more uniform, not harder, because there is a smaller feature set to implement.
Do you know of any other language where there is so low predictability of outcome? You basically spend your time trying 100 different tweaks until it looks right.
Bjorn
|
|
|
|
|
Here's that BrainElephant one printing out it's own name:
++++[++++>---<]>-.---[----->+<]>-.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.
You can have that language & I'll keep my cascading style sheets thanks!
|
|
|
|
|
That looks like a snake game written by someone that hasn't figured 2D arrays yet...
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
bjoernen wrote: If PSL96 had been implemented instead, CSS would be a lot easier. You simply express sizes of things in terms of sizes of other things.
That might work for basic stuff. Once you want to use different styles for different screen sizes, this becomes unworkable very quickly.
|
|
|
|
|
bjoernen wrote: simple math formulas into the CSS, that refer to the sizes of other elements. The good news - since it requires some basic math skills we'd see a drop in the number of (so called) designers.
The bad news - it's still potentially overly complicated and allows for possible feedback loops.
My guess: if it worked as you wished you'd be making the same complaint.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
bjoernen wrote: Even for the simplest designs you have to allocate 4 hours, just to make sure it looks the same in all browsers.
This is why we lazy devs use bootstrap[^] and just forget about it. 
|
|
|
|
|
bjoernen wrote: For example "the width of this element should be equal to half the width of that element"
This kind of stuff is done using SASS (a CSS pre-compiler)[^].
|
|
|
|
|
I'm not talking about clever ways to generate complex CSS, I'm talking about expressing relationships between page elements that is not possible at all with current CSS.
For example: "The height of element B is 1/10th of what ever the page height is at the moment. The width of element A should be equal to the height of element B, but only if B's height is less than 100px, in other case it should be half of the height of element B.".
Here is how simple it could look in theory: B.height = PAGE.height / 10; A.width = B.height < 100px? B.height : B.height / 2;
Bjorn
|
|
|
|
|
I believe you are well on your way to the next programming language, scripting language, standard.
Here is your guidance...
xkcd: Standards[^]
|
|
|
|
|
The reason stuff like that isn't possible is because you will get endless recursion.
Let's say you have:
<div class="b">
<div class="a">
</div>
</div>
The height of B is determined by the content of A, but if you are changing the width of A based on the height of B then the height of A will also change, which in turn forces the height of B to change, which would then require the width of A to change, which will once again change the height of B, and the loop continues until you get a StackOverflow exception.
So perhaps you say: "Well, don't allow rules like that", but then you end up with even more of a headache trying to make sure your rules don't conflict with other rules.
Put it this way, if it was possible to make it work well then it would for sure already exist.
As the saying goes: if you have a good idea, it either already exists or it really isn't that good an idea.
|
|
|
|
|
musefan wrote: As the saying goes: if you have a good idea, it either already exists or it really isn't that good an idea.
Luckily everyone doesn't think like that, otherwise all development would stagnate.
|
|
|
|
|
A proper upvote for that!
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Jörgen Andersson wrote: Luckily everyone doesn't think like that
Indeed, most people don't even think at all...
But I don't particularly agree that we only advance from unique ideas. I am sure a lot of people come up with the same ideas all the time, it's just who gets to market first, so to speak.
|
|
|
|
|
musefan wrote: who gets to market first
Word.
Edison comes to mind.
|
|
|
|
|
What you describe already happens in the layout engine of modern browsers. The rules that I outlined earlier already happen, but is invisible to us. There are hundreds of such rules that must be evaluated to produce the final layout, and some are in direct conflict with each other, so the engine is designed to make a compromise. These compromise heuristics is what avoids endless recursion.
So imagine that tomorrow the Google Chrome team launches a new module called JSCSS, were they have moved out all those heuristics from inside the layout engine and written them in JS. From now on you point to a JSCSS file at the beginning of a HTML page, which defines all the CSS rules you intend to use. CSS still works exactly like before. But the HUGE difference is, now you can see how a flexbox actually figures out layout, AND you can extend CSS with your own definitions for things you think is better than the standard. AND you can omit CSS altogether, and write your layout directly in JSCSS of you want.
This would be a huge relief for everyone, because browser makers only have to make sure the core layout engine works correctly, and every CSS definition is in external JS, exactly the same for every browser. And any developer can extend CSS with his own definitions.
Bjorn
|
|
|
|
|
That feature doesn't exist, because IMO it's something that we shouldn't do to begin with. Websites are displayed on various screen sizes, contrary to Windows App which almost definitely shown on a monitor.
If you fixed the size of element b as 1/10 of total web page's height, it will be nightmare/unreadable on some screen sizes.
If it's screen size, there already "vh" and "vw" as unit size.
|
|
|
|