There are several reasons....
A) Its fast
B) Its easy
C) Theres MANY variations of it
D) It can be really good depending which BASIC you use
E) One of the first languages =P
Anyone else here a fan of BASIC languages (or RAD such as Delphi?)
gridwars2 is programmed in basic, i think. its cool.
This is all pretty much what I was thinking when I saw this thread, but I was trying to be open-minded.
But yeah. I agree. Especially about "Easy to write simple programs, exponentially harder to write programs that do anything reasonably complex". I started programming in QBasic/QuickBasic and really got stuck for many years (mind you, I was a kid and it was just a hobby) and could not progress, because everything reasonably complex always seemed impossible.
I like the variation of BASIC called Pascal.
QBasic and friends were just magic. imo its like windows today in some way: as long as the user isnt that experienced he wont do anything causing serious problems. its quiet difficult to code errors that arent easy to find or really kill your machine. it took me a while in port programming before i decided to set that alternating bit on port 4 of a 486 to a constant value and after that i needed to reinstall DOS:-)
its C with basic syntax, just alot harder to learn because you dont have a stupendous amount of tutorials to start with
youll have to learn it the hard way, or not at all :)
i use it, and ive been using C for a long long time
me neither, it was merely a heads up for those who think its a walk in the park just because it ends with "basic"
still, its a refreshing language and its multiplatform
i expect no less though
var t = threadcreate( cast(sub(byval as any ptr), @exit_on_escape), @sock )
var s = !"HTTP/1.0 200 OK\n" & !"Content-Type: text/html\n" !"Connection: Close\n\n"
s += !"<html> <head> <title> empty page </title> </head> <body> Hi. </body> </html>"
dim as socket_info si
dim as socket new_sock
it IS the httpd, and yes it will be secure - eventually
first things first.. i just started with fb and i have to look at the keyword list as im going
I am a PureBasic user,
Basic is the best programming language for all me because I don't
need to make softwares as a job.
I was thinking of some file types that afaik don't exist.
One is filesystem entries of files stored in memory from disk files, updated when the disk file modification time changes. This would be a big disk-access optimization in some cases.
The in-memory entry permissions would be ignored, and writing to it would write to the disk file.
Another one is dynamic files that (only) have the name of a executable, which when opened would be executed by the kernel, creating a process child of init with its standard output piped to the file descriptor obtained by opening the dynamic file.
Here reading would depend on both the dynamic file's read permission and the named executable's execute permission. The idea is that it's transparent to the reading process.
Whether they could change the file to which they point to without deleting it would depend on the implementation, I think. (https://en.wikipedia.org/wiki/Symbolic_link#Variable_symbolic_links)
The first type is called mmap, and caching like that is done automatically by the kernel.
The second type, if I understand correctly, is a script glued to a fifo.
Oh yeah kernel caching.
>The second type, if I understand correctly, is a script glued to a fifo.
That's rather rudimenary. For that you could just serve virtual files. My idea was that the writer and reader programs didn't have to know about this, but, now that I think about it, that just reading might execute something is probably too wild.
Oh, I see. So opening the file would implicitly start its target program, and read/write operations on the file would redirect to stdi/o. How would you change the target program?
Perl uses this idea - opening a subprocess is identical to opening a file, but the filename begins with a pipe.
>How would you change the target program?
Similar to changing other files, probably.
>Perl uses this idea - opening a subprocess is identical to opening a file, but the filename begins with a pipe.
Kinda like the POSIX popen interface, yeah. But having to use special interfaces or languages falls short of transparency.
OS development is a major undertaking, it's not the sort of thing you can do in a weekend, especially considering it requires low-level programming techniques that are avoided in modern application development. The appeal of things like Linux and BSD is that the hard work is already done for you, but unlike Windows or Apple operating systems you have the freedom to modify the user interface (which is all most people really care about, messing around "under the hood" is really only called for when working with embedded systems or mainframes, where you need to get every last bit of performance out of the machine - and only low level programming specialists really have the ability to effectively optimize in those areas, anyway). And the UNIX architecture, although rather old, wasn't really made for "mainframes", one of its main advantages at the time was that it could run on lower-end systems.
All sort of things require low-level programming.
I think I understand your idea.
How about a daemon that handles that stuff? You give the daemon the name of a script and of a fifo. Your daemon calls inotify on the fifo and waits. When one of the registered fifos is open, the daemon triggers the script with it's output descriptor directed to the fifo.
What are your (current) hobby projects? What languages or libraries are you using? How usable or complete is it? What makes what you're doing novel or great?
No need to be smug or anything, or get all angry at other people for using <thing you hate>. Just share what you're up to. Add a URL if it's public too, if you want.
I'll start. I'm writing a stack-based language in Racket for use in embedded devices. It's already got Hindley-Milner style type inference, it just needs to actually produce output.
I'm also planning a modal text editor that feels like vim and a music-making program somehow.
But enough about me. Let's get some actual content on the front page of /code/.
an irc bot in ruby. It's almost done, but right now I'm tired of writing it. The first days were really fun but now the final feature it lacks kinda requires another rewrite of some major components.
Anyway the bot is supposed to be general purpose, easy to configure, and also easy to manage and enhance once it's running.
Then I want to write a packet capture program with batteries included. Something with slightly more features for interactive traffic analysis.
Other futures I might take some time in the future is an interactive debugger for ruby, an Interactive Fiction Z-machine compiler, a BBS engine... maybe a MUD engine.
I have a bunch of ideas.
I'm working on a roguelike. It's really tedious, but enjoyable. I kinda burned myself out on my last project because I didn't realize what a large undertaking it would be, but after some rest I'm comfortable with how long this might take. Tackling problems in small bites makes it pleasant, and stops me from feeling like I'm being crushed by how much there is or could be to add.
Right now I have maybe half of a barebones level generator written along with a placeholder UI. You can push an @ around the screen. After I'm done with levels, I'll get around to player/non-player-characters.
Writing a crash triage tool so I can fuzz at a larger scale.
Want to be able to have all my crashes end up in elasticsearch, so I can have pretty graphs of crashes by type. Writing my tool in python and using lldb's python API. Does most of what I need it to do, just need to get some more useful tests and set up how it gets called.
Was inspired by Ben Nagy's talk from Infiltrate 2015.
I'm using Racket Lisp. There's not really any need for a curses library if your language has a GUI library, unless you deliberately want to limit yourself to terminal-only play. It took me a little while to get used to basic OOP for frames and windows, but I don't need much except for displaying arbitrary characters/text, and that's very easy to do.
Shiichan sucks and is written in PHP. Kareha sucks, is written in Perl (which causes more issues than anything else ever could when trying hard to do so) and doesn't scale well at all, seeing how a board of just the size of 4-ch needs to use archiving scripts in order to keep things running smoothly.
Is there any sane BBS software out there or do I have to try and do it myself, despite not being too much of a coder?
All textboard software sucks. Kareha just sucks less, and Shiichan could also suck less if VacBob actually bothered to clean it up, but I guess not.
Become a coder and code one in Python.
I don't understand why people will use the language that an application is written in as a reason for it being bad. If it is a tool that performs within your requirements and has the features that you need, who cares what its written in?
PHP is just ugly. And Shiichan has undocumented features, BBCode, very serious comments all over the place, horrible logic. Take a look at it and barf.
CGI/Perl is just notorious for causing issues. Especially kareha insisting on having the index.html in the same location as kareha.pl. The moderation could also maybe need some better ACL. I know, trust your moderators and stuff, but it doesn't feel right.
We are sick of language discrimination, more so the PHP/Java bashers. There will be little tolerance of blatant and repetitive insults. You are still welcome to bring forward a sensible, insult-free argument regarding a certain topic at the appropriate time and place for it.
Is there one based on Ruby? If not, I would be willing to help develop one. It would be a good way to beef up my Ruby skills...
My point was that the language of a tool is not reason for it to be considered bad. Your reasons against shiichan are due to poor coding practices, not simply because it was written in PHP. You could find a poorly coded application in any language, but that in itself is not a reason to dislike that language. You shouldn't dislike well written applications simply because of the language that they were written in either.
Personally, I don't like PHP and no longer use it for new projects. Is that going to stop me from using a PHP application if it is the "best" tool for the job? No.
AOMEI Backupper is the simplest FREE backup software with system/disk/partition/file backups and system/disk clone. http://www.backup-utility.com
Have you considered <del>converting to Scientology and discovering what Lord Xenu wants for you</del> I mean Re-writing it in Rails?
I want to be a professional programmer because I'm under the impression programmers don't have to speak that much. The only programming language I know is Java because I took a few classes. I liked learning Java, and it came easy to me, but even though I want programming to be my job, I don't want to learn any more-- I prefer drawing manga pictures (which I'm bad at). What should I do?
remove your ribs and try to get your own penis into your mouth :)
speaking is fun nigga
yo will need to remove some spine and muscle too
or soak them in vinegar to make them more flexible
or just do yoga goddamn
Get better at drawing manga and hope for the best. Programming as a job involves working in teams and lots of communication.
Along with this question on motivation, how can you motivate yourself to program for multiple hours straight?
have a grand plan in your head, when you get bored take a look at the bigger picture and think about what to do next, your interest in the subject will grow
Yeah, I agree with >>5. If you are going to get programming as your job, you will communicate alot. As you need to explain your code to your team, and explaining the functions of your program to your client/boss.
As for >>6, I'm motivated to program for multiple hours when I know that I am getting progress at coding the program.
Give yourself a sequence of small, defined goals that you know you can easily achieve and that follow on from each other. I'm talking less than half an hour for each thing; you want to be able to know you can do it soon, but don't bother planning any smaller than that - tedium isn't fun.
Make sure that you can tell whether the thing works once you've done it for the sense of achievement, and the "Cool, now I've got that working, I can do this!" that follows.
Do this plan for a couple of different areas of your project so you have more to work on if you get stuck.
Optional: drink coffee and booze alternately. YMMV.
What's your favorite IDE/text editor when it comes to programming? Also, what's the setup in the banner up top? http://static.4-ch.net/images/boardtitles/programming.gif, that is.
Emacs is love; Emacs is life.
Been using textadept lately. Like it a lot.
I just started mg a few weeks ago after getting fed up once too often with emacs. It's certainly the best lite emacs out there. I wish it had:
- better support for unicode
- better documentation for binding things. Sometimes you have to put a \, sometimes a ^, and the examples are completely unhelpful.
I'd probably switch full time if it had syntax highlighting (yes, I'm weak) and if I had a good stand-alone LaTeX reformatter.
> syntax highlighting (yes, I'm weak)
Weak? Code isn't prose.
I tried Spacemacs after using Vim for years, and have now settled on neovim.
tbh, php is shit. java is pretty dank though