[HN Gopher] Show HN: BrainIDE - A feature-packed Brainfuck compiler
___________________________________________________________________
Show HN: BrainIDE - A feature-packed Brainfuck compiler
Author : LovetheFrogs
Score : 39 points
Date : 2022-06-01 16:23 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| jksmith wrote:
| That is indeed feature packed for BF. Because shut up.
| krylon wrote:
| Part of me hoped this would be self-hosted. Not sure if I am
| disappointed or relieved. ;-P
| _fat_santa wrote:
| I wonder, has anyone made an actual app or something resembling
| an app with BF? I would imagine it would be quite a daunting task
| given the syntax.
| LovetheFrogs wrote:
| There's a game out there IIRC, but from experience, it's easy
| to get lost in your own code because of the obscurity of bf.
| That's it's charm ahahaha.
| ryanmcbride wrote:
| There's a few but they're usually incredibly simple like a
| calculator. It's mostly just a fun way to challenge yourself
| vletal wrote:
| There is a brainfuck variant supporting syscalls. Seems like a
| great candidate for a llvm backend. You could have mostly any
| app you want.
| rbanffy wrote:
| It's not because someone can do something that they should, but
| this is amazing :-)
| masklinn wrote:
| Interesting idea to have a "feature-packed" and "user-friendly"
| IDE for a turing tarpit.
|
| I'd have imagined it as a wimpmode for the really complicated
| esolangs out there e.g. fungeoids and whatever the hell
| intercal's classification is.
| LovetheFrogs wrote:
| That's actually an idea I had during the development of the
| IDE, and I might be looking more into it.
| pelagicAustral wrote:
| I'm certain there is a splash of sarcasm in this comment but so
| how I agree. This is an enjoyable and refreshing project.
|
| Thanks OP
| masklinn wrote:
| Oh no sarcasm no, just that turing tarpits are about bare
| simplicity of form and function, so I'd see turing tarpit
| editors close to ed, and on the far side.
|
| A heavy, pondering, editor I'd associate more with the rube-
| golberg type of esoteric language, where your first issue is
| actually achieving things at all, then finding out what you
| achieved (or did not).
| IncRnd wrote:
| I use Brainfuck-IDE for my personal projects. It has a great
| Azure theme that's really easy on the eyes. [1]
|
| When I'm traveling, I use an online IDE, bf-ide. This is great
| for experimental coding, where there is no IP I need to
| protect. It is heads and shoulders above all other editors and
| IDEs - for online or where I need to think on my feet anyway.
| This really is a superb choice for those times when I'm
| presenting at a conference, and I really want to demonstrate
| some code that anyone can try right then. No installation is
| necessary for Brainfuck here!
|
| WIth bf-ide, I don't even care if there is a web disclosure or
| if my source code gets leaked. The crooks won't understand it
| anyway. bf-ide is so intuitive to point-and-click when I want
| to perform a braindump and execute! [2] [3]
|
| For Mission-Critical and Enterprise Development, absolutely
| everyone uses Brainfuck Studio. It's great for UML diagrams of
| the Brain Factory-Factory-Implementation-Factory-Maker-Owner
| model test code. Then you follow the workflow defined by the
| team leader who just left for Oracle, and the application
| should probably get built without too many issues. [4] [5]
|
| And, I'm going to install BrainIDE right now. I'm a BrainFuck
| aficionado, and I work at a Brainfuck shop, so any tooling
| advantage I can think of or that someone invents with the sweat
| of their brow is A-OK in my book!
|
| [1] https://github.com/rdbende/Brainfuck-IDE
|
| [2] https://github.com/kvbc/bf-ide
|
| [3] https://kvbc.github.io/bf-ide/
|
| [4] https://github.com/prat-man/Brainfuck-Studio
|
| [5] https://brainfuck.pratanumandal.in/
| bryanrasmussen wrote:
| >I use Brainfuck-IDE for my personal projects. ... >I don't
| even care if there is a web disclosure or if my source code
| gets leaked. The crooks won't understand it anyway
|
| >and I work at a Brainfuck shop
|
| I have a hard time believing this, aside from the keeping
| code safe from crooks (which surely some crooks stealing
| source code must recognize Brainfuck) what are the benefits
| of the language?
|
| I mean every language has some benefits its users can point
| to? What are BrainFuck's benefits?)
| penteract wrote:
| Taking this a bit too seriously, Brainfuck is actually good
| for some things - I don't know another general purpose
| language in which cat or printing out the list of ASCII
| characters are shorter non-empty programs. Also, Brainfuck
| compilers often emit code that can process input as
| characters are received (not waiting for a newline) which
| can be awkward to do in some other languages (Java might
| not allow this at all in the name of being cross platform).
| IncRnd wrote:
| > Java might not allow this at all in the name of being
| cross platform
|
| Seriously, that's my major iteration with Java.
| IncRnd wrote:
| > I mean every language has some benefits its users can
| point to? What are BrainFuck's benefits?)
|
| I understand, because I also had initially thought that
| BrainFuck has no practical benefits, just from seeing the
| syntax. However, when I started a particular sales concern
| a few years back, I hired one rockstar 1% coder who sold me
| on the benefits of using BrainFuck to quickly take our
| product to market.
|
| Since that time, I've been sold on the utility, brevity,
| and consistency that is BrainFuck. The language is Turing
| Complete. Literally any program that can be written in a
| different language can be expressed in what is one of the
| most modern languages around. Plus, it's far more legible
| than Perl, even with PerlDoc.
|
| By our use of BrainFuck we were able to take our first
| iteration to market within a week. The sad part is that we
| had wasted the prior four months working out frameworks,
| build systems, diagrams, user reports, charts, iterations,
| tests, scaffolding, etc. All we needed was this little
| beauty of a language that for some amazing reason is called
| BrainFuck. It should be called PolishedJewel.
|
| So, the benefits. PJ (PolishedJewel) is Turing Complete.
| With a little bit of practice it is EASY to write full
| applications - not toy programs but solutions. PJ is a
| common language that all of us now speak on our teams. Even
| our marketing department speaks BrainFuck. They have even
| contributed to the core open source implementation of the
| language. PJ has gone from a measly compiler of a few
| hundred bytes to the proud 22 Gigs that it is today. The
| feature set is incredible. For virtually no work, I can
| write a functioning, functional function that
| monolithically is a mountain of MVP, sold to the customer-
| base in a matter of days.
|
| We fired all the architects, and every one of us now uses
| PJ in the proven market-oriented style of cowboy-coding.
|
| It just works.
| exdsq wrote:
| Hahahaha how are people thinking you're serious!
| derac wrote:
| It's a joke. Brainfuck has extremely bad performance.
| IncRnd wrote:
| BrainFuck may not have bare-metal performance, but it is
| absolutely the fastest to market.
| oakwhiz wrote:
| Are you sure? :)
|
| https://people.csail.mit.edu/wjun/papers/sigtbd16.pdf
| IncRnd wrote:
| I stand corrected!
| bryanrasmussen wrote:
| Ok I figured, but it seemed more deadpan than usual so I
| was unsure.
| goodmachine wrote:
| You win. Perhaps forever.
| LovetheFrogs wrote:
| I've tried rdbende's IDE and I agree with your comment. I'll
| be working in themes for the upcoming updates as I think it
| might be an useful addition.
| IncRnd wrote:
| Thanks! I just cloned your IDE!
|
| Edit: Awesome! Thank you for this.
| graypegg wrote:
| Great job! Love the idea of this sort of "because I can" project.
| I wonder what intellisense would look like for brainfuck! A while
| ago I made a brainfuck to JavaScript transpiler [0], and if you
| want to dig into brainfuck more, there's a lot of optimization
| you can do with BF beyond just interpreting it. As useless as a
| task as that can be, it's a great way to jump into how compilers
| work!
|
| [0] https://github.com/graypegg/unfuck
| LovetheFrogs wrote:
| That was the whole idea of it, just doing something as a
| passion project even tho it's not the most useful thing out
| there. I'll check out your project too!
| mtsfz2 wrote:
| Brainfuck in Prolog [0]. This is the way.
|
| [0] https://github.com/danieldk/brainfuck-pl
| [deleted]
| thecleaner wrote:
| What's the development stack ? LLVM ?
___________________________________________________________________
(page generated 2022-06-01 23:01 UTC)