Flexable Object Oriented Language (FOOL) version v1.0.1 release (with non-binaries)

twitter logo github logo ・1 min read

Flexable Object Oriented Language:
Released: 2019: 8/18
Updated: 2019: 8/21

Binaries: https://github.com/CalinZBaenen/FlexableObjectOrientedLanguage

Non-Binaries: https://github.com/CalinZBaenen/NonBinariesNB_FlexableObjectOrientedLanguage

Language summary:
This language is meant to be a robust and simplified version of Python 1 & Python 2. and even Java / JavaScript,
being an build on the already existing system of syntax.
Making keywords easier to remember.
etc...
Syntax Sample

out input is "Hello"

Output:

-Input Value-
Hello
True/False
twitter logo DISCUSS (11)
markdown guide
 

The code could be improved a lot. You shouldn't ever have a function that's 400 lines long in Python. You need to break it down into smaller, easier to read and reason about chunks. The same goes for the scope of your variables -- you have too many that have too large of a scope.

Your code violates some Python idioms, such as using if v == True: instead of if v:. You're also missing a lot of spaces that should be in your code. I highly recommend doing all programming with an autoformatting -- life is too short to manually edit the spacing around operators.

I see a lot of empty catch handlers, where you just drop the exception. If an exception can be thrown, doesn't that mean something has gone wrong? You probably should tell the user what they have done wrong, instead of being silent.

There are a lot of improvements that can be made to this code. Here are the first few I noticed as I skimmed the code:

  • programStatus is always None. You can delete it.
  • You can simplify your multiple filters into a single one: heap = list(filter(lambda a: a not in ["", "=", "True", "False"], heap))
  • You're using 0, 1, ... as state, which doesn't mean anything. Why not use descriptive enums instead?
 

Thanks for your feedback on the language, these changes will soon be implemented into the language's next update (v1.0.2),
Cheers!

 

Is the spelling of "flexable" intentional? It's quite distracting.

 

It's very much intentional! But sorry to hear that it is distracting, It's misspelled to reel people in, to intrigue them with the bad spelling, because they will want to find more grammatical errors, but what they are prompted with is: F.O.O.L.
Sorry again for this problem.
Cheers!

 

No problem, you do whatever you like! I'm sure there are other people that are fine with it. It just seemed unintentional because typically an intentional misspelling is the central part of a brand (e.g. Tik Tok) and rather obvious instead of a subtle common mistake of English rules (flex + "able").

Then again, if you wanted to "reel people in" via titular spelling errors, I guess 'distracting' is kinda what you were going for. 🤣

 

You should explain the project in the repo's readme. How are you supposed to run the program? What does the input look like?

As the other poster said, there's no reason to have a separate "binaries" repository. GitHub lets you manage zipped up versions, and they refer back to particular versions of the repository. This adds trust, and makes it easier to figure out issues. It's silly to split them into two, and if you're going to have both, the source code one should be the main one, not the second "non-binaries" one.

 

I'm bias on your opinion, I'll see how I can change my storage, according to your feedback.
Thanks,
Cheers!

 

GitHub lets you manage your releases, so that you can have both your source code and your binaries in one repository. See help.github.com/en/articles/creati...

 

What if I want them seperated?
It will turn out the same, won't it?
I hope you at least like the project though!
Cheers!

Classic DEV Post from Aug 2

Your 30th Year in Code

A look at the personal problems faced in decades of programming.

PDS OWNER CALIN (Calin Baenen) profile image
I am a 12 yr/o developer who makes projects in languages like: Java, HTML, Python, JS, CSS, C, and am working on learning C++, and C#.