lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Thu, Sep 20, 2018 at 9:45 AM, Petri Häkkinen <petrih3@gmail.com> wrote:
>
>> On 20 Sep 2018, at 5.07, Coda Highland <chighland@gmail.com> wrote:
>
>> In short: Use the right tool for the job. Sometimes OOP is the right
>> tool.
>
> Well, if it works for you, go for it. Personally I have no use for OO anymore, unless forced to deal with an existing codebase.
>
> There were times when I thought OOP was well suited to certain areas, e.g. GUIs. But the cheer pleasure of working with immediate mode guis have shown that to be a fallacy.
>
> Petri

TMTOWTDI. Nothing says there is one and only one right tool for the
job. Immediate mode GUIs can certainly be the right tool for the job,
especially for simpler layouts. I wouldn't want to use an immediate
mode framework for something more complex, like web layout.

It should also be noted that the underlying code for the immediate
mode GUI is almost certainly object-oriented even if you don't have to
use OOP code to interface with it. There are just too many advantages
to being able to treat GUI components polymorphically when you're
working at that level.


On Thu, Sep 20, 2018 at 12:14 PM, Aapo Talvensaari
<aapo.talvensaari@gmail.com> wrote:
>> On 20 Sep 2018, at 5.07, Coda Highland <chighland@gmail.com> wrote:
>>
>>
>> > In short: Use the right tool for the job.
>
>
> I don't believe this anymore. It just leads to overtooling. Instead you
> should just pick a few tools and try to do most with them. And only
> occasionally use some very specialized tools.

It sounds like you do still believe in it; you just have new
requirements for defining the "right tool" -- namely, if you have a
tool that you're already using in a project, and it's close enough,
then that IS the right tool for the job, because the cost of bringing
in another tool is greater than the benefit it would give you.
Likewise, if you have a tool you're proficient with that's close
enough, while you're unfamiliar with the tool that would on the
surface appear to be superior, then that other tool is NOT the right
tool for the job. And your cited exception is the cases where the
tools you're already using AREN'T close enough and the benefit of
bringing a new one in outweighs the drawbacks.

This is EXACTLY the right mindset to use in practical software engineering.

/s/ Adam