October 21, 2016
On Friday, 21 October 2016 at 12:31:00 UTC, Mark wrote:
>
> I second that.
>
> Also, it may be a good idea to simply use classical algorithms (binary search, quicksort, etc.), written in "D style", as examples. The typical visitor is probably familiar with these algorithms and thus the foreign syntax won't be as scary. It also puts the syntax in a context that the visitor is already familiar with, so there is a good chance that he'll deduce its meaning even without supplementary comments.
>
> For instance, TDPL has the following implementation of binary search in its introductory chapter:
>
> bool binarySearch(T)(T[] input, T value) {
>    while (!input.empty) {
>       auto i = input.length / 2;
>       auto mid = input[i];
>       if (mid > value) input = input[0 .. i];
>       else if (mid < value) input = input[i + 1 .. $];
>       else return true;
>    }
>    return false;
> }
>
> Nothing too fancy, but it's a good example of how array slicing in D helps make the code cleaner, shorter and easier to understand.

Yeah, I agree. Use common tasks everybody is familiar with. Sorting, searching, string handling.
October 21, 2016
On Thursday, 20 October 2016 at 09:10:10 UTC, Chris wrote:
> I.e. "He agrees with me, therefore I like him!" One year of meetings to design a website does not necessarily mean the site's good or that it has to take at least a year until you have a presentable website.

Sorry, was too busy with some darn project to respond. Been rewriting from zero some custom webshop system that guys in Poland wrote ( horrible bugs, bloated and just nasty ). Ended up writing a metadata/json structure linked to a entry commit system. Yay ... 15 tables to 3, mysql queries down to 1/10 etc... Already 5 times as fast and its not even optimized. *sigh*

So tired seeing entry level PHP code. Guess why i am interested in learning D. I need a break and move to something better *lol*.

> Designing a website for a company means that the marketing knobs feel they have to throw in their 2 cents and want them acted upon or they block the whole process - then at the end, all of a sudden the boss - who never cared for the website - wants to have a look too and here we go again...

> We're talking about font-sizes, gradient colors, button 2px to the left, company logo bigger/smaller etc, not about the page logic. Of course, because they know nothing about programming they go by what they see and try to make a contribution there, just for the sake of it.

No kidding ... bosses need to keep there hands out of projects. They are in general more trouble then they are worth. *lol*

We just lost 2 months on a project, because the bosses had the brilliant idea to outsource and started pitching / pushing it. And the whole discussion dragged on preventing us from starting on a major project ( why start on something that may be done by somebody else? ).

O, that webshop that now needs a rewrite from zero, was a direct result of another outsource. Yay! And the client ends up paying ( again ) for that.


Some projects simply take time. That whole travel site was indeed slow but the end result is definitely not bad. But, like you said, sometimes too many cooks in the kitchen slows things down. My and my college have rewritten several disaster projects, mostly in 3 to 4 months time per project. The reason we are fast is because we are in sync and the bosses stayed mostly out of the rewrite projects. We do it our way ( finally ) and the end results speak for themselves.

Unfortunately, bosses are bosses. Two senior PHP developers cost money ( hell, we are cheap, under payed ). They can never stop looking for money, while they trow money out of the door in one after another foolish scheme. Technically we are keeping the company afloat. *sigh*

> Unfortunately, it is often forgotten that each website needs a different, unique approach. Getting inspiration from other websites is good, trying to copy them is not a good idea, because it will never serve your purpose optimally.

Yep ...

> The real craftsmanship behind a website is mastering the various technologies that don't work smoothly together (HTML, JS, PHP, forms, requests, server side stuff, browsers, data bases). Web design is 90% page logic, 10% inspiration.

On this i kind of disagree. I can handle all the web techs with ease but you need people who can see things more in graphical / marketing / ease of use sense. We developers see a lot of times too much from our perspective.

Its the same reason why i mentioned the whole examples on the front page. While i had more then one reason to skip D, the mentioned example was one of them. When people have choices, they make them very fast.

Ali for instance, did a great job on his book. Its easy to get into, maybe a bit redundant from a more experience developers point of view but you quickly see the small details. Things you will simply look over without realizing.

Stupid and simple example that will make every developer here think: "this Benjiro guy is stupid". *haha*

Most example's simply show something like:

writefln("The minimum of %s is %d", test, min);

But what if you simply want to join two lines together. In PHP you do:

print('Hello' . 'World');

Try that in D. Does not work with dot. You need to use comma's. Comma's in PHP is a instant parse error. While the dots are a compile error in D.

writeln('Hello', 'World').

Yea ... sounds stupid but its those details that get lost in the flood of data. Don't overthink the whole "why do you want to merge Hello World", its just a silly example.

How about ~ for merging? That is also very fast overlooked. I know it sounds ridiculous but frankly, i do not have a lot of time so i try to learn on the fly. But its annoying getting hampered by those small details when your trying some code, until you finally figure it out.

Yes, its great that D has pipelines, template, alias, fibers etc but those are already more advanced concepts. Something so simple as the whole comma or merge syntax, does not even get mentioned in the Learn section ( not that i found ).

I found it in Ali's book but try finding me a few D newbies that invest into buying a book or find Ali's website. It takes a while to search the website and figure even the basic resource out. And in the one spot you expect to see this, its not even mentioned.

Maybe i am too much the spoilsport here but with limited amount of time, those small things quickly frustrate. Because i am already committed, i am willing to invest the limited time i have. Not all people will do that.

The Learn corner is good for people with experience. But its still lacking in details. Maybe Ali can take a look at expanding it? Or maybe make Ali's book like a "newbie" learn? :)

Its a bit long with 700+ pages but i do not know a single language website that has such a expanded tutorial *lol*

Just my 2 cents. Its late and i am tired.
October 22, 2016
On Friday, 21 October 2016 at 23:08:06 UTC, Benjiro wrote:
> On Thursday, 20 October 2016 at 09:10:10 UTC, Chris wrote:

>
> O, that webshop that now needs a rewrite from zero, was a direct result of another outsource. Yay! And the client ends up paying ( again ) for that.

Some things never change...

>
> Unfortunately, bosses are bosses. Two senior PHP developers cost money ( hell, we are cheap, under payed ). They can never stop looking for money, while they trow money out of the door in one after another foolish scheme. Technically we are keeping the company afloat. *sigh*

Some things never change...:)

>
>> The real craftsmanship behind a website is mastering the various technologies that don't work smoothly together (HTML, JS, PHP, forms, requests, server side stuff, browsers, data bases). Web design is 90% page logic, 10% inspiration.
>
> On this i kind of disagree. I can handle all the web techs with ease but you need people who can see things more in graphical / marketing / ease of use sense. We developers see a lot of times too much from our perspective.

I meant that the design can be fixed fast after having been tested by users. It's not rocket science. A lot of it is common sense, but design is what everybody sees, so it makes a bigger impression on the marketing section. They don't care for the lean data base design you might be proud of, they want a shiney button that says "Book now" :)

> Its the same reason why i mentioned the whole examples on the front page. While i had more then one reason to skip D, the mentioned example was one of them. When people have choices, they make them very fast.
>
> Ali for instance, did a great job on his book. Its easy to get into, maybe a bit redundant from a more experience developers point of view but you quickly see the small details. Things you will simply look over without realizing.
>
> Stupid and simple example that will make every developer here think: "this Benjiro guy is stupid". *haha*

The thing is that it takes time to learn a language like D and get used to its idioms. And as has been pointed out, different newbies have different expectations. What you could do for D, if you wish, you could draw up a syntax cheat sheet with one-line examples.

1. String concatenation

`~` // writeln("Hello, " ~ "world!");

2. Array concatenation
...
3. Assoc array syntax
...

etc. I sometimes too get stuck on little things like that when I have to work with a language I'm not familiar with ("." or "+" or ...)

Don't ask what D can do for you, but what you can do for D. I ripped that one :)


1 2 3 4 5
Next ›   Last »