Perl 5.8.0 Released
twoshortplanks writes "The latest version of Perl has been released, with new features such as better Unicode support, a new threads implementation, new IO layer support, and a whole plethora of bundled modules - plus a wonderful collection of regression tests and new documentation. The release notes and links to mirrors for download are on dev.perl.org." This is not a release candidate, it's the real thing, representing over two years of work by patch pumpkin holder Jarkko Hietaniemi and his merry band. Hugo van der Sanden is the new pumpking for perl 5.10.
good coders can write readable code in any language. bad coders cannot. So just what are you saying?
Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
patch pumpkin n. [Perl hackers] A notional token passed around among the members of a project. Possession of the patch pumpkin means one has the exclusive authority to make changes on the project's master source tree. The implicit assumption is that `pumpkin holder' status is temporary and rotates periodically among senior project members.
This term comes from the Perl development community, but has been sighted elsewhere. It derives from a stuffed-toy pumpkin that was passed around at a development shop years ago as the access control for a shared backup-tape drive.
I used to bulls-eye womp-rats in my pants
or at least make it easier to write readable code...
The fundamental point of perl is its a quick way to write one-off scripts to do quick repetitive jobs - therefore maintainable code is not necessary. I accept there are other times when it needs to be readable tho...
Nonsense.
Would you say
" quick way to write one-off scripts to do quick repetitive jobs"
Accurately describes the slashdot application?
I suppose it's only a 'real' language if you have to compile it? I'll never understand that mentality.
Feh.
I think it's easy enough to write readable code in perl, the great thing is that you have the option of writing horribly unreadable code to do in 3 lines what it would otherwise take 10 to do.
It's been done. They are called Python and Ruby.
Frankly, Ruby has a lot of promise. I've been toying with it, and it feels like a pretty good compromize between java and perl.
Stop the brainwash
I learned perl using 5.0.0.5, or somesuch. I learned using version 2 of the Perl Book.
:) It seems it would be a useful community project if someone were to take these changes and compile them into a sorted by type document-- I.E., all grammar changes, then all regexp changes, then library functions, etc., with sample code where germane.
:)
:)
It seems to be the case that the perl language has actually evolved a bit since 5. I am continually finding out about "new" features in Perl that i were not aware were there (invariably, the only ones that make a difference to me are the extentions to the Regexp system: there seems to be a whole class of (?X) operators that are not in my copy of the perl book).
Is there anywhere that summarizes the various changes to perl since version 5? there are the perldoc perldelta documents (here is the perldelta document for 5.8.0). However, these are complete, technical changelogs, and cover everything from language changes to small inconsistency smoothings to changes to obscure library functions to bugfixes in internal perl functions. Moreover, they do an even poorer job of explaining the consequences to the coder of things like (?>) than the perldocs
Really, now that i think about it, i guess what i would like is a summary of what they've done to the regexps since version 5.0
If no such document exists, maybe someone can write one and post it on PerlMonks
- super ugly ultraman
Perl is real programming language, and as for the readability aspect: Perl doesn't hold your hand. It's perfectly possible to write clear code in Perl. If I was to show you one of my scripts I'm sure anyone with basic programming knowledge would be able to understand it.
I never liked autovivified hash elements in the first place. It's such a pain in the butt to put a if (exists $hash{index}) before trying to access everything if I don't want autovivification. Don't take this as a slam against Perl, I love the language and the concepts, but there are a couple little nooks and crannies that ought to somehow be fixed. I say "somehow" because to do it with backwards compatiblity may be impossible.
Now if only Apple would get the Cocoa bindings for Perl cooked up, so I could back-end in Perl and GUI in Cocoa...
I am concerned about any program, any piece of hardware, any treaty, any law that treats me as a consumer, not a citizen
I'm no coward, but don't want to spend time creatying an account (and remembering it) right now.
perl-5.8.0 is now completely 11.00 and 10.20 HP C-ANSI-C and GNU gcc safe. There are more 'README' pieces about Oracle in README.hpux and DBD-Oracle's README's have been extended, and probably will be even more in the near future.
I've already made a pa-risc-2.0 gcc version prepared for Oracle available on https://www.beepz.com/personal/merijn for HP ITRC forum members, and I cannot promise, but a 10.20-pa-risc-1.1 version is planned for the near future.
BTW, I seldom read this forum.
Hello,
This is David Corbane the fink developer over at Apple.
I just wanted to give this warning, since the post above seem to be a well constructed trolling.
Fink is an apt-get (Debian) application for packagemanagement on Apple OS X platform. It works just like apt-get.
The three lines given above would not solve any of the issues, rather this would launch your workpod into a highly unstable state, since perl is used extensively within OS X.
Fink manages aplications outside the base installation of OS X and no third party package mangement should in any way bother with base OS X applications.
If you try the above, you will not be able to run any sort of cron applications (which are run by default and most of which involve perl scripts).
Also doing this removes some glue security bindings that are controlled by perl.
Please be aware that fink is only used outside the base system of OS X and the first two lines of the code above are deceptive and highly dangerious.
Please write me if you need any more info.
dmcorbane@corp.NOSPAM.apple.com
No. It was released today. You're thinking of the last Release Candidate which was released on Monday.
not true, here is a sample brainfuck program :
;)
hello world
I would include it in this body but it fails the lameness filter for having too many 'junk' characters, but its a program....
as you are not allowed comments and none of the operations are particularly obvious because of the lack of verbosity, its very hard to understand what it does even if you know brainfuck.
it prints out 'Hello World' by the way.
things are even worse when programming in machine code, because the commands' binary syntax is not very human readable, although at least you can put comments in machine code.
In short, some languages are better than others for promoting code readability, but I think the exact opposite of your statement is true : you can write unreadable code in any language.
I for one think Perl suffers from write-only tendancies, mainly due to the horrible mess that is called array access. Good clear types really help maintainability, and the last time I saw Perl's collection type(s) it was neither good nor clear.
I was happy to move over to Python mainly based on the quality of its type system, not that this was the only strength. But I must confess to being fully able to produce unreadable bits of Python that could make some Perl fragments look like angels.
The monstrosities, of course. I've battled with them many times. We actually have a procedure now for both 11.0 and 10.20, butit took literally days upon days of fact-finding and experimentation to get it to work at all.
Moderation: Put your hand inside the puppet head!
Oraperl (capital O) is a reverse compatibility wrapper around DBI.. lots of people are brain-locked on it and don't even know about DBI.
Yes, I know.
My favorite quote on Perl:
/., but can't attribute it. Sorry.
"A Perl script looks like an explosion in an ASCII factory"
I know I saw it on
You don't need the () with delete...
I could not disagree more. I keep a copy of all interesting scripts I write. I often give them to friends or peers. In addition, I may not look at a saved script for some time in the future. Well written, documented code is key to being able to remember just what it was that you were doing and communictating these ideas effectively with others.
UNIX/Linux Consulting
funny, i find perl to be an excellent compromise between perl and java. but then i feel that way about any language and java. ok, maybe not cobol. maybe.
US Citizen living abroad? Register to vote!
how about "piece of shit" then?
Do you even lift?
These aren't the 'roids you're looking for.
I always find my eye searching for the ending delimiter at the end of each block of code; this basically means I'm forever having to stop myself from thinking the code is somehow incomplete when I read Python.
:)
:)
I also found Python conciderably more opaque than Ruby, although I strongly suspect that had more to do with the documentation I found on it than anything else.
That most of the examples of Python apps I looked at were pretty messy didn't really help either
Unfortunately for Python, Ruby's filled my requirement for a clean dynamic language; I expect my next language to be more along the lines of SmallTalk or Lisp. Python just doesn't look that interesting anymore
<eagarly awaits a flood of examples and docs that'll make me change my mind and fall in love with it>
Fork() is for creating a new process. The Perl 5.8.0 threads uses the threads pragma to spawn threads. But Perl doesn't share all data by default, so variables must be declared shareable via variable attributes( $variable : attribute). Artur Bergman wrote a good synopsis.
Most of what I do is basic anyhow...so from what I've read, I'm not sure its worth an upgrade at this point. I don't think my projects would benefit that terribly much from it.
At Yet Another Perl Conference this year there was a book auction to raise funds for Perl development. Tons and tons of O'Reilly, Manning, and other books, and not just Perl books. It was interesting to see where the interests lay. There were plenty of wisecracks and groans for Java, Python, and PHP books. (I picked up Learning Python for $10.) Interestingly enough, there was intense interest in the Ruby books, and no wisecracks. Went for a higher than average price, I believe.
Secession is the right of all sentient beings.
Which is better? Horses or cantelope melons?
HTML and Perl are two completely different things. HTML is a way of representing (textual) data, while Perl is a way of processing and/or creating data.
Stop the brainwash
Parrot 0.0.7 was released last night. It contains a very rudimentary first Perl6 compiler, based on the Perl6 grammar by Sean O'Rourke, and Melvin Smith's IMCC intermediate language.
> Ruby's a bloated joke. I don't want an object interface to literals
I should feed troll posts such as above, but I can't resist. The entire gzipped ruby source code is 998k. That's small enough to fit on a floppy. Now how is that bloated?
I've programmed in Perl for 4 years and Ruby for 1 year. Ruby has become the _only_ language I need to get the job done at work(writing data aquisition and analysis software at an environmental lab).
Ruby's standard library is analogous to Perl's, and it's one-tenth the size. It's object system is extremely robust and mature. The fact that everything is a first-class object makes ruby great. It's consistent, and you're sitting here complaining about the fact that it does something right that almost all other Object Oriented languages do wrong! If you don't want to treat a literal like an object then don't, but don't confuse "well designed" with bloated.
A musician without the RIAA, is like a fish without a bicycle.
For those with Perl already, the following is an easy way to download and upgrade:
perl -MCPAN -e 'install J/JH/JHI/perl-5.8.0.tar.gz'
I agree with you, My formal training is a COBOL programmer, and I've written Perl programs that I consider readable even by COBOL standards. These are not one-timer scripts, but real world applications.
Sure Perl can be unreadable, and I'll admit if you want to write the most unreadable code humanly possible that actualy does something, Perl is probabaly the language for you. Try writing poetry in VB!
Apocalypse Cancelled, Sorry, No Ticket Refunds
Done. It's called BRL: Beautiful Report Language
- Beautiful: It is easy to write BRL code that is understandable and maintainable, appealing to a programmer's sense of aesthetics.
- Report: BRL is particularly suitable for constructing output that is a mix of static and dynamic content, e.g. web pages, e-mail messages. Its greatest strength is constructing output from SQL databases, though it is useful for many other tasks.
- Language: The full power of a general-purpose programming language is there, though you wouldn't know it from simple examples.
It is based on Scheme, which makes the syntax extremely simple yet powerful.Less is more !
You are correct that it can be used for real, big, major, mission-critical applications, but that's not what it's original intent was. Quote from the O'Reilly book:
Everyone here understands that Perl can and is used for large applications, but that still wasn't its original intent. New features have made it appropriate for that but perl has always kept its vision of "keeping the easy things easy".
Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance.
In other words, it's a small concurrent functional programming language developed by Ericsson after their experiments with Lisp and Prolog.
Although, you will not love it if have already poisoned by OO "snake oil"
If it's a case then try Dylan
Less is more !
I see people bashing Perl for it's supposed unreadability. I see people bashing Perl so they can advocate Python or Ruby. I see people making general, blanket statements about code readability, as if these opinions are always ready to burst forth, making the speaker a hit at parties.
Arguments about programming languages on this level are pointless beyond belief. It's like arguing which pop band is better than another. Who cares? It's all opinion and hearsay.
Which is in this thread also.
( perl -MCPAN -e 'install perl-5.8.0.tar.gz' )
ActiveState Perl is still 5.6. Any ideas when it'll be updated?
I run the scripts on Linux, but I do my coding on a WinAMD machine.
No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova
The fact that Perl has a multitude of different syntaxes and structures available to do the same job - that hack on hack stuff you disparage - is a feature. It's one of the language's strongest suits. And it closely approximates a typical spoken language, like English.
Where you see piled-on hacks, I see evolution at work. Perl is richly expressive, and allows you to code in whatever style works best for the task at hand, rather than trying to force the solution-space of the problem into the modeling-space of the language.
That's why Java and other B&D languages suck so badly - they trade flexability for orthadoxy.
But spoken languages have proven to be stubbornly resistant to the imposition of bondage and discipline in the name of "simplicity", and attempts at creating new, simpler spoken languages from scratch - like Esperanto - have failed miserably. The parallel with programming language should hold true as well. What is a programming language but a way of communicating with your computer, your users, and other programmers?
It should be at least as expressive as your spoken tongue, not less.
"A foolish consistancy is the hobgoblin of little minds" and nothing illustrates that point better than a discussion of Perl by those who don't actually use it.
DG
Want to learn about race cars? Read my Book
Of Perl: "It also powers Sweden's entire pension system [oreilly.com]"
:-)
Your fanaticism seems to be clouding your vision
For the Swedish pension system, it is completely wrong to say that Perl powers the entire thing. If you had to choose only one thing, that would have to be Oracle. Slap bang, right in the middle, Oracle keeps the data. Most of the surrounding application is Perl - but not all of it - they also use JScript, VB and PL/SQL.
All this information is from the interesting link you posted. It's worth a read.
Tales from behind the Lagom Curtain
Yes, pseudohashes are deprecated in Perl 5.8.0. They will be removed completely in Perl 5.10.0.
how to invest, a novice's guide
Silly Pudge. 5.10 is less than 5.8. Didn't you take math classes?
Prevent email address forgery. Publish SPF records for y
First off, let me state that choice of programming language isn't a reflection of the abilities of a developer.
I've seen dedicated, talented developers produce great apps with Perl, Python and even (gasp!) pre-.NET Visual Basic. On the other hand, I've seen careless, uninterested developers produce mounds of pure, unadulterated crap with C++.
The language used has little to do with the quality of thefinal result, and has a lot more to do with the person coding with it.
The language used for a product often isn't even up to the developer. Employers and clients mandate a language as often as not, sometimes for valid reasons, sometimes for moronic reasons ("The CEO plays golf with this dude who told him that using Java is gonna save big bucks").
Let's look at three factors we can use when comparing languages: Performance, Development Effort Required, and Maintainability.
C++ is a great language in experienced and knowing hands. When well-done its performance is good but it tends to be very effort-intensive.
Perl and other very high-level languages are less effort-intensive, but they have a corresponding performance trade-off.
Java and .NET languages are somewhere between the two, though they both seem closer to C++ on the scale than they are to VHL languages.
The maintainability of a language seems weakly related to individual languages. Most of the maintainabilty qualities of a product will spring from the all-too-often overlooked Planning, Design, and Discipline of the developers that worked on it!
I'll allow that Perl can really let you shoot yourself in the foot as far as maintainablity goes, but what languages aren't like this? Especially beloved C++?
The only thing that we learn from history is that nobody learns anything from history.
The article makes it clear that they wanted the whole thing written in Perl - they only used the other languages because they couldn't find enough Perl programmers in Sweden.
Yes, it will -- starting with Perl 6.0. This is a complete rewrite that compiles to a bytecode called Parrot by default. You can compile Parrot bytecode into binary, or almost anything.
I, for one, welcome our new Antichrist overlord.
From there, the remedy suggested roughly matches that which Ellem posted earlier, and which you are objecting to now. In his .sig footer, Folson identifies himself as "CPAN Tester for Mac OS X", and the advice he gives sounds credible.
If the advice summarized in these postings is unsound, do you have any counter suggestions that address the issues raised by Foxson's post? Or are those issues themselves phantoms? I didn't realize that Apple had a dedicated Fink developer, but seeing as that seems to be a part of your job description, a clarification of this matter would be very much appreciated -- and you might want to include the mailing lists mentioned above so that the users/developers will know what's going on "from the horse's mouth", so to speak.
Thanks a lot.
DO NOT LEAVE IT IS NOT REAL
That is a *wonderful* idea. If Apple is sitting on such a big slush fund as I've heard, surely they could afford to chip in a bit for the free software they're getting to take advantage of...
DO NOT LEAVE IT IS NOT REAL
I really don't see how you get that interpretation from that quote simply because the quote and what we're talking about have absolutly nothing to do with each other!
Seriously... the quote doesn't say "Perl is designed to make small jobs easy, without making the large jobs impossible." It says 'easy' and 'hard'. I contend that you can have large programs that are fairly easy to write and vice versa small programs that are very complex.
That quote says nothing about not writing large mission-critical apps in Perl.
The Anti-Blog
<i>"I just wanted to give this warning, since the post above seem to be a well constructed trolling."</i>
Easy now slugger. I merely offered up what is going arounf the Mac OSX Perl mailing list. No need to get all nuts on me.
It has been claimed to "fix" the Fink issue. Now Max Horn from FINK says "Thanks for the detailed reoprt. We are aware of this potential problem for anybody who installs a custom perl, however, I believe there is nothing we can currently do about this (besides posting instructions similar to your to our web page someplace)"
The article is from Adam J. Foxon who says he's a CPAN tester for Mac OSX:
So maybe you should take a look at the thread and yell at them.
This is the thread title: perl 5.8.0 issue on Mac OS X w/ fink
Go read it.
This
I dig Ruby, but I don't see it as a compromise between Java and Perl. Not much like java at all really, unless all allegedly "OO" languages look alike to you. If I had to put Ruby "halfway" between two languages they'd be Perl and Smalltalk.
Doesn't Perl already *technically* compile?
Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
So, you got Perl as a package, version is 5.8.0 and build 29 of the stuff thats inside the package. Now, if its 29, it doesnt really mean that its 29th *public release*. Maybe the maintainer made testings with different build configurations or so on ...
yush
Binary incompatibility is beginning to be Perl's bane. Didn't FreeBSD remove perl from their base system because of this?
Thank you for your post. First, I'd like to say that I hoping you are who you claim to be. The fact that you're posting as an AC, and that google doesn't know about you, and that you're not listed as a fink developer at the fink project member list, and that no reference of you exists at the fink-devel archive gives me pause. Appologies if my skepticism turns out to be unwarranted. For the sake of this response, I will assume that you are not trolling and are who you claim to be.
That being the case, I'm afraid you've been misled by the comment that you initially responded to. That comment was posted by someone who extracted out a small section of a report that I sent to various mailing lists last night. The comment to which you responded has effectively deprived you of the relevant context surrounding the issue. My full report can be found at the archives for the three lists I sent it to:
- maco
sx@perl.org archive
- perl5-porters@perl.org
- fink
-devel@lists.sourceforge.net
To summarize the report, there is a dyld issue of perl undefined symbols under Mac OS X, when fink is installed, and when the user has manually upgraded to perl 5.8.0. This issue effectively renders the new perl installation unusable, in addition to many things that depend on perl.This is caused by fink setting PERL5LIB to /sw/lib/perl5 which contains one or more compiled XS modules. Since perl 5.8.0 is not binary compatible with any prior perl release all XS modules will have to be recompiled in order to not experience the show-stopping dyld issue.
At this moment in time there have been several replies. One was a reply from Max Horn, a senior developer at fink. And, another reply was a reply from Michael Schwern, quality assurance manager for perl. Both acknowledge this as an issue and further outline the cause of this as well as possible permanent solutions.
The steps outlined in the 'RESOLUTION' section of the report are sane and well tested. They do indeed correct the issue that the report details, and should absolutely not cause any peripheral problems.
I'd like to request that if you further reply, please also do so on one of the three lists mentioned above so we can keep everyone in the loop.
Thank you!
--- Fox
If an apple developer is dumb enough to do this, I'm glad I don't rely on them for software... (and maybe hardware, but that would be different people)
Right. I too prefer companies whose employees make no effort to get out into the development community, but will give me mediocre support for $50K.
Party on, Dave.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
One important tradeoff is that between writability and readability. The two conflicting philosophies are:
You simply can't have it both ways, because to allow concise expressive syntax is to allow ambiguity. Perl consistently chooses writability over readability. A language that prefers readability over writability will require more effort to code in, but be more readable (Python is a good example of such a language).
Yeah. Everyone knows that most programmers in the world use perl.
Why do you need to urge others to do the same? use the right tool for the right job.. it's that simple.
I seem to remember that it was the principal development language for Interwoven TeamSite... which is many things, but not a quick one-off script.
Average 1st time install price for Interwoven customers? About US$250,000 for licenses. Development time and hardware are on top.
The only thing you can accurately describe as "Scotch" is a sticky tape made by 3M. And it's
Well that's his point, isn't it ? That a language can be intrinsically more or less readable than another language. Once you accept the possibility of an "unreadable" language, there's a legitimate question of the degree of readability.
And as I said... I could just as easily say that Russian is unreadable, simply because I can't read Russian.
Any language is unreadable if you don't know how to read it, regardless of how readable the code is. If you do know how to read it, then it is no longer an "unreadable" language, and any lack of readability is due to the writer, not the language.
This is all true, but it doesn't alter the fact that one language can be more readable than another.
So, which human language is inherantly the most readable, oh guru?
As to your examples... some people find all caps to be inherantly *more* readable. And throwing in pseudo-random sequences doesn't change anything.. that would increase the difficulty of learning how to read the language, not any inherant "readability" of the language (if there is truly a coherant, understandable structure, something that is pretty much required for the human concept of "language").
As I've pointed out twice already, Russian is entirely unreadable by my standards. The alphabet is gibberish to me, the words mean nothing (except for "goodbye", which I picked up from somewhere), and I don't even know enough to start thinking about the grammar of the language. Does my inability to grasp this language mean anything at all to the native Russian speaker who has grown up with it, and thinks that English is equally incomprehensible?
On the contrary, if the choice was the developer's and he/she made a poor choice, that is very much a reflection of their (lack of) ability.
The language used has little to do with the quality of the final result, and has a lot more to do with the person coding with it.
Generally speaking, given the choice, a good programmer won't make a poor choice of language for a project. (We don't always have that choice, of course, but a good programmer knows the difference and will readily admit to suboptimal management constraints.)
The maintainability of a language seems weakly related to individual languages.
Most of the garbage code I see these days, both proportionally and in absolute terms, is written in Perl. I believe that this is due to design problems with the language itself, and due to the fact that the language is so popular, therefore drawing to it many unskilled programmers, and due to the compounding interaction of these two factors.
Perl was there first, and Larry Wall deserves accolades for it, IMO. These days, though, is there anyone that doesn't cringe at the thought of having another bale of newbie Perl code dumped on them to maintain?
--Mike
"Not an actor, but he plays one on TV."
Are we really supposed to believe that all languages are equally good/bad and that we might just as well choose any of them for any project? This is nonsense.
Languages do differ in clarity, maintainability, readability, and many other features, and, in the end, this will lead to fundamental differences on average in the engineering quality of the code. Little science (AFAIK) has been performed to study the relative quality of different languages, but there is no reason to believe that it could not be studied in principle. Nor is there much reason to believe that there wouldn't be substantial differences between languages.
--Mike
"Not an actor, but he plays one on TV."
to oppose some claims that the only reason brainfuck and machine code are unreadable is because the reader doesn't know HOW to read it I will go into why they are inherently less readable than some other languages DESPITE being able to read them.
;)
thankyou elflord for already getting the point
at one level brainfuck is extremely easy to read, it only has 8 characters, each of which corresponds to one of 8 simple to understand operations. Anyone could learn to read off the code operations given 10 minutes because there isn't very much to learn. brainfuck is still inherently unreadable because it is very hard to work out what a peice of code's functionality is when only given a list of low level operations. In brainfuck there are no function names to give a big clue as to what the function does, there are no variable names, and there are no comments.
Just imagine trying to write readable code in perl if you were forced to call all your functions f1, f2, f3.... and all your variables $v1 $v2 $v3.... and you are not allowed to create any comments, and you have to build your own strings at run time too, none of these abstract types thank you. Just to finish off remove all the whitespace from your perl script and tell me if it is readable. brainfuck forces all of those points, so although the operations are very readable, the functionality isn't.
machine code is also quite readable, it is perfectly possible to learn how to read machine code, but it is much harder to read machine code than it is assembly. Again this has nothing to do with the posibility of learning to read either, it is infact purely based on how quickly you can read them. There is a one to one translation between machine code and assembly (apart from label names)
but whereas I can read an assembly op in well under a second, I would have to spend a fair amount of time deciphering which op code is being used, with which options and registers and data. Even if I knew everything I needed to know to work out what the instruction is, I am still having to calculate it each time I read a code. In variable length instruction sets I have an even worse time as although I can see one assembly instruction followed by another, and I can simply skip looking at a few I am not interested in, in the machine code I have to work out every instruction before I know where the next intruction begins.
Now, for a stupid example that knowing how to read two languages does not imply equality in ease of reading them, as appropriate for a comparison of assembly to machine code: I pick english for one language and english with each letter offset by one for the second, so that 'a' is translated to 'b'.
The languages are almost identical, and you have been given everything you need to know how to read both, but how long does it take you to READ AND UNDERSTAND e"readable" compared to e1"vosfbebcmf"?
machine code is harder (but possible) to read because you have to work more things out than you do with assembly.
brainfuck is harder to read than C like languages because you don't have any names or comments to give you clues as to the functionality. If you wrote C with random function names, random variable names, no comments and agreed to never use any number except 0, and never use any strings then your code would be on par with brainfuck : but brainfuck manadates this style, which is why it inherently difficult to understand.
Someone: I thought python was an easy language. Why's the book so big?
Auctioneer: Must be all the whitespace