[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)