|
||||||
| Forums FAQ | Members List | Search | Today's Posts | Mark Forums Read |
| General Chit-Chat A friendly place to converse about your adventures with openSUSE, your weekend, your boss, your new car, and generally stuff that doesn't fit somewhere else (and we must ask: PLEASE do not post help questions here) |
![]() |
|
|
|
LinkBack | Thread Tools | Display Modes |
|
||||
|
Really? So all the init boot scripts are useless? all cron scripts are useless? all other automated scripts which work for you in the background are useless? Maybe even my h264enc script is useless too? h264enc - The interactive shell script ripper
The example I gave you is for Bash. Bash is a Turing Complete interpreted language. As such, it is a real language like other more advanced and complex languages, like C, C++, Java, Pyhron, etc. Bash, like the others who pass Turing completeness, is a real programming language and offers if/case/select conditionals, for/while/until loops, functions, global and local variables, one-dimensional arrays, arithmetics, etc. However, Bash is a limited programming language (compared to the more advanced ones, like the ones I summed up above) So instead of saying "no software is bug free", you should say "no complex software is bug free" but even then, there may exist a complex software which is bug free. Why? Because "no software is bug free" implies that absolutely no code whatsoever is bug free, which obviously is not true
__________________
My site: http://microchip.bplaced.net My repo: http://download.opensuse.org/repositories/home:/microchip8 SUSE Unbound Forum: http://suseunbound.lefora.com Do coders dream of sheep() ? |
|
||||
|
What is so difficult to prove? The example I provided is a for loop which when executed will print 10 times a number, starting from 1 up to and including 10. It will *never* print anything else by itself nor will it ever do something totally different, print numbers in random order or not execute at all. In itself, this piece of code will never fail. If you start modifying the underlying interpreter which is responsible for executing said code and make it "incompatible" or make it force a different behavior, that cannot be contributed as a bug to the code I wrote as example since you're modifying the interpreter but the code wasn't written for the modifications you're doing thus if it fails, you can't blame it on the code itself as it wasn't intended to run on your modifications to the interpreter
__________________
My site: http://microchip.bplaced.net My repo: http://download.opensuse.org/repositories/home:/microchip8 SUSE Unbound Forum: http://suseunbound.lefora.com Do coders dream of sheep() ? |
|
|||
|
Thank you zayed2001 for posting your article on the upcoming 11.2 release. I enjoyed reading an overview of new features, including graphical examples. The odd minor spelling mistake, shouldn't prevent it from encouraging readers to download and hopefully adopt the distribution.
|
|
||||
|
@microchip8
I did NOT say that we could not prove your little script example being flawless. I am able to read and I know what it does and I suppose that I know what you intended it to do. I went on talking about what you call "complex software". IMHO people (like university professors in IT and the like) generaly state that it is scientific impossible to prove that a piece of software of a bit more complex nature is bug free. I personaly do not even know how I could scientific prove that your little counting script is bug free, allthough I am satisfied on seeing it (is that a scientific proof?).
__________________
Henk van Velden |
|
||||
|
Henk,
yes, correct, and I didn't say much about complex software. The more complexer a software is or gets, the more the probability increases that somewhere a bug is dancing around or will dance around in the future. There are different types of bugs, some blatantly obvious ones, others which are deeply hidden and even with lots of stresstesting do not get exposed easily and can lurk for years as for the script. Get a machine, install Bash on it and run the script till eternity. Provided that you don't change anything in its interpreter, in the script itself and the computer runs for eternity without breaking down or having other effects on the script, the script will never produce anything else it was not intended to produce. It will always print 1 up to 10 and you won't see it at some point printing "Henk, you n00b, I'm in ur PC, running for eternity ". There is still uncertainty since you'll always have to monitor for its output as if you look away, you can't tell if it did something else not intended to do, but given its extreme simple code, you can be highly confident it won't and the probability is also very very low. Does that qualify as scientific?
__________________
My site: http://microchip.bplaced.net My repo: http://download.opensuse.org/repositories/home:/microchip8 SUSE Unbound Forum: http://suseunbound.lefora.com Do coders dream of sheep() ? |
|
||||
|
Quote:
|
|
|||
|
Quote:
I'm sorry . I should say no software as big as desktop environment is bug free.
|
|
|||
|
consused and oldcpu thank you for you encouragement.
|
|
||||
|
hehe, it's not about giving up or not, or about losing or winning and you don't have to apologize. I just wanted you to understand that 1) scripts are valid software and *can* be very *very* useful, 2) not all software is buggy as it depends on a lot of things and 3) Bash is a real programming language, although much limited one and also one that belongs to the scripting languages and Bash most of the time is used to automate things and to do system tasks. This is Bash's field, and the field of other similar shell scripting languages
__________________
My site: http://microchip.bplaced.net My repo: http://download.opensuse.org/repositories/home:/microchip8 SUSE Unbound Forum: http://suseunbound.lefora.com Do coders dream of sheep() ? |
![]() |
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|