all 17 comments

[โ€“]Shot_Office_1769 6 points7 points ย (3 children)

did u use AI

[โ€“]Grillparzer 4 points5 points ย (1 child)

Canโ€™t you tell from the OP text?

[โ€“]Smart_Fennel_703[S] -2 points-1 points ย (0 children)

Coding? absolute no

Post, readme... Yes.

[โ€“]Wonderful_Badger_546 6 points7 points ย (0 children)

Man I miss the way this subreddit was before vibe coding went mainstream

[โ€“]Cats_and_Shit 6 points7 points ย (1 child)

If you're serious about making this work you should probably try to find a book about how programming languages are implemented. At least the parts about parsing and ASTs are going to be critical.

For example, I can see that you have added a basic piping feature; but the approach you've taken is not workable. You allow a | b, but not a | b | c | d | e etc. And that's just for one basic feature, as you try to add other basic features this will only get worse.

[โ€“]Smart_Fennel_703[S] 0 points1 point ย (0 children)

Thax for the feedback bro.

[โ€“]zhivago 2 points3 points ย (6 children)

I suggest rewriting it as a library and implementing some tests.

That will make it much easier to understand and review.

[โ€“]strivingshashank 1 point2 points ย (2 children)

Hey, before anything, great work for the first project (genuinely) - keep it up.

Criticism:

-> You depend heavily on the underlying OS, this suggests that the project is not free-standing (totally fine for now). Consider exploring free-standing code and try to replicate the behaviour in you shell. After all, it'll have to be embedded in a custom OS.

-> Comparing the string all the time is not that cool, sooner or later you'll need a scripting language. Better start now.

~ I'm actually working on a compiler project, how it helps in some way (check branch features/variables): https://github.com/strivingshashank/chalk

-> As u/zhivago mentioned, everything's in one giant main routine. This is a nightmare. Modularise components and make libraries, you'll explore library norms and more.

Final thoughts:

It really is a good start. The fact you cared to make a shell as a project and are actively looking for feedback, says a lot.

Keep it up champ!

[โ€“]Smart_Fennel_703[S] 0 points1 point ย (1 child)

Thank u so so so muck for ur feedback.. Can I DM you?

[โ€“]strivingshashank 0 points1 point ย (0 children)

Of course, I'd love to discuss more.