Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: compilers@is-not-my.name Newsgroups: comp.compilers Subject: Re: Good practical language and OS agnostic text? Date: Thu, 19 Apr 2012 17:32:19 -0000 Organization: Compilers Central Lines: 85 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-04-041@comp.compilers> References: <12-04-022@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1334891934 85340 64.57.183.58 (20 Apr 2012 03:18:54 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Fri, 20 Apr 2012 03:18:54 +0000 (UTC) Keywords: books Posted-Date: 19 Apr 2012 23:18:54 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:584 BGB wrote: > this is a hard thing to ask. > > There is a lot of possible variation between languages, all of which may > have notable impact on the "best" compiler design. I'm not dreaming about "best" just getting a small project going would be enough to make my day or month etc. > I have not as of yet seen much of anything which tries to address all > this, and most focus more narrowly on "a C or Java like language > compiling directly to native code and using a C-style calling > convention". I guess that would be ok, do you have any suggestions on a book like that? > OS and CPU architecture can impact a fair amount as well, so it could be > similarly hard to address all of this without making at least some > assumptions on these fronts. Fair enough. I didn't think so but everybody seems to be saying that so I guess that is the way these books are written. I would have thought there is a lot that has nothing to do with code generation and that code generation itself aside from optimization obviously would be a pluggable component. > for example, do they use x86 or ARM as the example? ... My target would be z/OS and I may want to do it so it can generate code for MVS and XA and ESA targets as well. If I can get to the code generation part I'll have no trouble with this actual detail. It's all the stuff before that and maybe after it, I have no idea how to do. > like with "authority": many people play "follow the leader", others play > "oppose the leader", but both are likely pointless. I have no agenda and I know my limits. I'm not opposed to a book that picks one way and pretends it's the only way, we've all been around to know that can't be true. I'm willing to go along for the ride, but I am trying to find a writer you guys says is trustworthy. > a person actively "doing their own thing" will not likely play that > game, and may not really care what the leader thinks, but will in turn > seem to at times be "following the leader" and "opposing the leader", > not because they actually are, but because not everything "the leader" > does is necessarily either right or wrong. I'm happy to follow the leader on this sort of project because I've never done it before. I don't pretend to know how to do it and I'd be silly to pretend that. But I do need something that explains the practical issues and I don't need to understand the theory to be able to prove anything. If I can understand /what/ to do I'll eventually understand /why/ it works well enough for what I need. At some level everything is a black box. Some people just drill down further than others until they get to that point. > I don't entirely agree (not being as much of a fan of math either). > the problem isn't so much about "understanding the topic", so much as > people often trying to throw mathematical notation at pretty much > everything. This issue comes up a lot and it's partly people have worked pretty hard to amass deep knowledge of a topic and they don't like to see people coming in and trivializing or disrespecting that and saying you're all silly and I can do it without all that. Nothing of the kind, I have a lot of respect for people with the theoretical understanding who've actually written a real, disciplined compiler according to proper rigorous methods. My approach is not to dismiss that or say it has no value, quite the opposite. I don't know what you guys know and I can't learn it quickly enough so I need some distillation of the theory and a presentation in a practical way a good programmer who is a very bad mathematician can understand and actually use. > often it could be explained easily enough using either natural-language, > some kind of pseudo-code, or some other specialized (presumably > non-esoteric) notation. That is what I thought but everybody else seems to say that isn't true. > it is kind of defeats the point if a person needs a math degree to even > figure out what exactly this glob of notation is supposed to be (or even > what sort of math this is even supposed to be, as it becomes more the > "find a match the greek letters and other symbols" game). Yeah that's how I feel.