A New Programming Language Expands on Google's Go (infoworld.com)
"One sure sign your language is successful: When people build other languages that transpile into it." An anonymous Slashdot reader quotes a report from InfoWorld:
The Have project uses Go's toolchain, but sports a different syntax and makes key additions to the language... Previously, a language named Oden worked with Go's toolchain to add features that Go didn't support. Now Polish developer Marcin Wrochniak has introduced Have, a language that transpiles to and expands on Go.
In the blog post that introduces the project to Go developers, Wrochniak describes Have as a hobby project, with the goal of becoming a "companion" to Go that addresses some of its common "landmines"... Go uses curly braces in the manner of C/C++, while Have uses block indents, like Python... The way that variable declaration, structs, and interfaces work have all been modified in Have to be more consistent with each other and to avoid internal inconsistencies that Wrochniak feels are a common source of bugs.
In the blog post that introduces the project to Go developers, Wrochniak describes Have as a hobby project, with the goal of becoming a "companion" to Go that addresses some of its common "landmines"... Go uses curly braces in the manner of C/C++, while Have uses block indents, like Python... The way that variable declaration, structs, and interfaces work have all been modified in Have to be more consistent with each other and to avoid internal inconsistencies that Wrochniak feels are a common source of bugs.
You still can't use the language name as a search term.
We need at least five new programming languages per year because C++ simply doesn't do the job. C++ doesn't even have a code of conduct! How am I supposed to know what to do if somebody takes offence at my code?
I'm glad to hear they got rid of the curly braces and copied Python. It's a truly excellent idea to have indentation determine program flow. I think this could be extended further and have program flow dictated by the font you use in your editor. Arial instead of if statements, Comic Sans instead of for loops, etc.
Anyway, I'm really happy to see programming languages going the same way as user interface designs, with people desperate to throw away what works and replace it with something inferior because they believe they're innovative and creative. Maybe we could do the same with cars next; I've always thought steering wheels where a stupid idea and you could steer far more easily with a system of cogs and pulleys.
Please, for the love of the children, can we STOP innovating on curly braces already.
And here I was all pumped up about the Erlang to Elixir upgrade path, repeated for Go, which suffers from the same weird Erlang-like conservatism that isn't suitable for all needs (such as most projects by corporations employing fewer than 20,000 technologists).
Conservatism has its uses, but it's no silver bullet, nor can removing braces make it so.
"Curly" braces to denote blocks of code and semi colons to denote end of statement are the marks of a sane language.
Anything else just asks for subtle bugs.
40 years programming experience has taught me this but if you want to find this out for yourself carry on :)
How about just stop reinventing the wheel?
Holy fuck. This is like claiming you have a new stew by altering the size of the same ingredients and adding them in a different order.
It's still stew.
You could do something like Ada does where it has a closing block construct.
For example, loop blocks have an opening "loop" statement and a closing "end loop" statement.
The language building on Go should be called GoTo.
This.
I love Python but I fucking can't stand the lack of curly braces.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
Curly braces to delimit blocks of code and semi colons to denote end of statement are some of the marks of a sane language.
Anything else often leads to the introduction of subtle, or sometimes not so subtle coding bugs.
40 years of programming experience has taught me how to double post with subtle changes this but if you want to work this out for yourself go right ahead.
Love the name. Especially I love trying to find any information on this bloody language:
* have tutorial
* have language tutorial
* have programming language tutorial
* have to go transpiler
* how to program in have
* have wiki
Next up, a webserver written in have called "the", a debugger for the language called "how", and IDE for it named "it" -- "debugging the with how in it".
and I would write 500 more...
And if I Haver, (whatever that means),
Yeah I know I'm gonna be-
I'm gonna be the one who's Havering to you.
This may have worked on kids during the second dot-com boom, but people are wising up - each "new" language is just a way to get developers better locked into some company's platform. And there is nothing so magical and so missing from all other languages that each deficiency warrants designing a new language. This is all bullshit designed to waste people's time and proliferate ever more meaningless resumes responding to the demand for 5 years of experience in stuff that was released last year and will be superceded the next.
Remember back in the late '90s when people realised that the Java/NGWS(.net) battles were really about proprietary control, not about improving the state of technology? That hasn't changed.
I would named it GOTO.
Dave Barnes 9 breweries within walking distance of my house
https://imgs.xkcd.com/comics/standards.png
For the love of they children they did create python. For grownups we still have braces, there are things that spacing and tabbing cannot address.
That reminds me of a language called C--
It had interesting constructs like "Do For A While", and of course the useful "Come From" statement.
I never understood why C-- didn't become as popular as Ada
"One sure sign your language is successful: When people build other languages that transpile into it."
Funny, I interpret that more as "your language is fundamentally flawed but you have a captive audience forced to write in it so they try to make the best of it."
When all you have is a hammer, every problem starts to look like a thumb.
I can't figure out why you would want to build anything on top of Go; the language has several intrinsic design shortcomings and limitations that are reflected in its runtime.
Between C++, C#, and Swift, I see little reason for another compiled language (add Python and JavaScript for interpreted languges). If you really want something more obscure and less associated with big companies, add D and Ruby to the list.
It's been almost a few months since hearing about the last new programming language that extends another slightly older programming language that is a reinvention of an even older programming language.
I can't wait for the language AFTER this - What is it we're supposed to Go Have? Fun?
Heaven is where programming languages have
Python’s readability
Perl’s string manipulation
Scala’s functional programming
C’s performance
Java’s library support
Go’s compile times
Javascript’s client-side support
Ruby’s expressiveness
Hell is where programming languages have
Ruby’s performance
Python’s string manipulation
Perl’s readability
Java’s client-side support
Javascript’s functional programming
Go’s library support
C’s expressiveness
Scala’s compile times
> it ended up being 1 line that used a tab instead of spaces. Indentation fails because of such issues.
Then:
a) do not use an editor that inserts a tab character - ever (this is usually a configuration item).
b) turn on 'visible tab characters' to ensure there are never any (this is usually a config item)..
If you think that tab characters should be used in source code than _never_ use Python, we will be grateful that you stay away from it.
Go uses curly braces in the manner of C/C++, while Have uses block indents, like Python..
And we're done! Fuck that bullshit straight top hell.
Take the single worst aspect of Python and base your new language around it? WTF?
If Go isn't doing it for you and you want something similarly C-style but with more thought put into it, then there are lots of languages out there to choose from and to help improve. There is simply no reason to "fix" a language that was designed to be so stuck in the past anyhow. Go is essentially a backwards-looking language in an era where carefully designed alternatives like Swift and Rust have completely stolen its lunch outside of the obliviously happy little Google-friendly niche Go has carved out for itself. Heck, there are lots of other older C-style languages that enable more modern coding best-practices.
Coffeescript has got rid of so many syntactic markers and declarations that it has almost no error detection. For example, the sentence 'mares eat oats and goats eat oats and little lambs eat ivy' generates no errors in coffeescript. Nor will the obvious error 'return if ab then'
How long has "transpile" been a word? It's new to me, as of today. But I don't get out much ...
There's no time like the present. Well, the past used to be.
I gained interest at the part that said it avoids Go land mines, and then lost it as soon as it said it got rid of C/C++ braces for Python indention. Good luck, Have, but I'm a Have Not.