Re: Changes to Euphoria
- Posted by ken mortenson <kenneth_john at y?hoo?com> May 30, 2008
- 641 views
CChris wrote: > How do you get minimalism in a language without terse syntax, and many lines > to implement the simplest construct? Chris, I'm not just glad you asked this question I'm ecstatic. My cable modem is flaking our on me at the moment, so I hope I can respond in one shot. There's a lot of confusion being expressed about what minimalism is and frankly, I think different people have a different definition. But for me it's embodied in the phrase that some may have difficulty parsing... ...as simple as possible, no simpler. I don't hold completely to the first part. To me, 'as possible' is not to be taken to extreme. For me, the no simpler part is the deal braker. Regarding terseness, some people think minimalist refers to key strokes. It doesn't. It refers to functionality. Being able to read your own code a week later also plays into it. So do I want to eliminate FOR loops? Never. They are very practical and easy to comprehend. But the most important point from a minimalist perspective is they do add something that is near and dear to a minimalists heart... they reduce clutter! Perhaps some will say I'm not a pure minimalist and perhaps they are right. But I hold the principle of less clutter in very high regard. Take for example strings. VB strings are horrible. You don't want to do string manipulation in a loop. The performance impact is incredible. How do I know? Because I've written a string class that I use in situations that require performance and it gives me about a 20x increase in speed. A minimalist keeps his focus on results. How am I able to day in and day out produce over a thousand lines of good code in VB? I couldn't if the language didn't have sufficient capability that I was constantly having to invent the functionality. I also couldn't do it if my job involved interface work all the time, which involves research; an entirely different thing from being creative in a language or writing business logic. Give me functionality. Don't put roadblocks in my way. One roadblock that reduces my efficiency as a programmer is twelve ways to do essentially the same thing. I'm a very safe driver, but I don't have to think much to do it. I've been described by programmers I work with as writing rock solid, bullet proof code. I don't have to expend an extreme amount of concentration to do that either. Because my tool is comfortable and has sufficient functionality in most cases. Where it fails, I try to create a solution, like my string class. I'm not the fastest coder. I worked with some phenominal people that make me look like a sloth where lines of code produced daily are concerned. But for me (and YMMV) being a practical minimalist makes me very efficient. I like that. I have another expression I use. Supermen make bad programmers. Always trying to be smarter than the other guy. Writing tricky code. My code is hardly ever tricky. I'm writing to an audience of other professionals that I have a high regard for. So I try to write as clear as I am able. Terseness often makes code harder to read. So I like it simple, but not too simple. In this case I'm not specifically refering to functionality. I hope I've given you some insight into my thought process.