Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Unix Architecture Showing it's Age
OStatic ^ | 14 May 2013 | Jon Buys

Posted on 05/16/2013 6:39:16 AM PDT by ShadowAce

click here to read article


Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-76 last
To: CodeToad

Exactly. Allow employees the opportunities to be creative and they will produce efficient, effective solutions. IT people are no different from others in that they want to feel fulfilled.

There are those who work for a paycheck, but they’re usually jaded and can be reached. Sometimes you encounter those who don’t care no matter what you try. The best you do with them is give them work to do that is not critical but is necessary and let them work heads down.


61 posted on 05/17/2013 10:38:27 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 59 | View Replies]

To: OneWingedShark

“companies want “coders” and not “software engineers”

Without question.


62 posted on 05/17/2013 10:43:10 AM PDT by CodeToad (Liberals are bloodsucking ticks. We need to light the matchstick to burn them off. -786 +969)
[ Post Reply | Private Reply | To 60 | View Replies]

To: OneWingedShark

You like stories, so here’s one on the current subject.

I had a programmer on staff who came from IBM during its glory days. He was jaded. Worked his 9:00 - 5:00 and went home. Didn’t get involved in politics. Kept to himself. Did his job. (I spent many hours on the floor of his office soaking up his incredible knowledge and experience, which curiously he would share with me.)

We had a problem that nobody wanted to tackle. “Can’t be done,” everyone said. I went to him, presented the problem, and told him that he could work on it as time allowed if he wanted or he could refuse it. He said he’d consider it. I left him alone.

A week later, he stopped by to tell me that he had some ideas. I asked if he wanted to share them with me. “No,” he said and walked out. A couple more weeks passed. I stopped by to check on regular duties and asked if he’d given the problem anymore thought. “Yes,” he said and offered nothing more. I left him alone.

Management asked if I’d made any progress on finding a solution. I told them who was looking into it and that I would keep them posted. They said I was making a mistake.

A few more weeks passed and I decided that he needed a little push. I stopped by to see what, if anything, he’d considered and if he had any recommendations for me. “Have a seat he said.” I did. He went to the white board and gave me an overview of one of the most elegant solutions I’d ever seen him or anyone else propose.

I grinned and asked how long will it would take. “It’s finished he said.” He handed me a document detailing the solution and a CD containing the code.

Needless to say, management was surprised and extremely pleased. Later that week, he stopped by on his way out and asked, “You got anything else like that that needs solved?”

“I’ll have it on your desk in the morning,” I told him.


63 posted on 05/17/2013 11:04:44 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 60 | View Replies]

To: OneWingedShark; zeugma; BuckeyeTexan
My 2 pennies...

re: Employee/employer, work for hire:

www.copyright.gov/circs/circ09.pdf

If you owned a business and hired me to write a complete sofware package for you, and then I went out and competed against you with well-funded backers, by bringing all the code I wrote to them, that would be the other side of copyright (ouch!).

Of course, if I wrote something on my own time that was NOT competitive with your product, you'd probably rightly feel that I had every right to do so, and I agree.

IMHO, for software developers who are key employees, whose work product value gets into the tens and hundreds of millions, having equity in the firm is the best route for all concerned, as it can much farther than plain salary and bonus on aligning goals and creating a shared risk/reward situation.

re: Narrow experience criteria

I'd take a newbie programmer who had never seen the language I needed them to work in - if I thought they exhibited the qualities of a future excellent programmer - over a person with exactly the right experience who was a dolt. I'd also take an "excellent programmer", (right ethic, not lazy, good insight, etc.) who had worked as a programmer for 40 years in some ancient, irrelevant language over, once again, the dolt whose skills happen to be a "perfect fit" to the job. The person's resume does not write the code, the person does.

re: the sufficiency of C, versus Ada rules !

The "language wars" ended quite a few years ago. Languages are what they are. C is a widely-known language, which makes it easier - and cheaper - to find C programmers than many other languages. There are other popular languages as well, i.e., the markup languages, web-based scripting languages, the legacy business languages, SQL, etc. They are not perfect, but they are widely known. Most of the programming that is done in the world is simple garden-variety business apps, websites, etc., where performance does not need to be measured in clock cycles and for most businesses it's just as important to be able to find programmers who are at least somewhat familiar with the languages they use as it is to have a language feature set that is optimal. I have a list of complaints about languages, including C, as long as your arm, but that's neither here nor there. I just try to avoid problems as best I can and make code bug free and as elegant as possible.

As far as C being "sufficient", there are bazillion unix systems all over the world (including the one I'm looking at) and most of the systems programs running on them are written in C. So, while C may not be the Holy Grail of computing, systems programs have long been successfully written in C. On the other hand, the fly-by-wire system of the Beoing 777 is written in Ada; the decision makers on that project chose Ada, and hey - more power to them.

To each their own. Well, until I write my language. It will be the ultimate language, and everyone will have to write all their programs in it. How do I write /sarc in Ada ?
64 posted on 05/17/2013 11:39:06 AM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 50 | View Replies]

To: BuckeyeTexan
That is an awesome story. :)
It reminds me of this one.
65 posted on 05/17/2013 11:43:46 AM PDT by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 63 | View Replies]

To: PieterCasparzen
re: the sufficiency of C, versus Ada rules !

You completely missed the point: it wasn't about "C vs. Ada" (except as a concrete example), but about how the "it has to be C/C++/C#/PHP" hurts the field.

The "language wars" ended quite a few years ago. Languages are what they are. C is a widely-known language, which makes it easier - and cheaper - to find C programmers than many other languages. There are other popular languages as well, i.e., the markup languages, web-based scripting languages, the legacy business languages, SQL, etc. They are not perfect, but they are widely known.

One of these is not like the others: Markup languages? Come on. That's almost lumping "file format" into 'programming language'. There are languages geared toward display (PostScript), but markup? // Just because it's popular (and "everybody knows" or "has a standard") doesn't mean it's right, or good, or even desirable; in the legal world you can take the Raich or Kelo rulings for an example: in the former the court declared that non-commerce, because such commerce is illegal, impacts the market that doesn't exist and therefore could be regulated by the interstate commerce clause; in the latter the court held that imaginary numbers (projections) that increase tax-revenue count as "public use" for the purposes of eminent domain... despite that the land taken never was developed and was dropped from that company's development-plan (i.e. it doesn't matter if the cause of the projection ever materializes, just that there's a projection).

My point was that there's whole bodies of knowledge that are discarded (and have to be rediscovered) because of this. Take Just-In-Time compilation: it was likely pioneered by Niklaus Wirth in the 80s (under the name "delayed emission"), yet has been rediscovered [and hyped] in more recent years. Or take DOTNET, with it's "program in any language" idea/marketing -- recycled from VMS's Common Language Environment... even the name "Common Language Runtime" is similar. (ie. "Runtime Environment")

Where would we be if we accepted "it works" as "it works well"? -- I mean bubble-sort works, it gets things sorted, so why don't we use that all the time. The answer is "because it doesn't work well in many of the places we need to sort" [because of the time constraint]. So what about QuickSort, it's great, right? Well, some studies have shown that in parallel environments Shell Sort is faster than QuickSort. -- But if we applied the same reasoning to the tools [language included] we use to build systems we'd still be using Bubblesort... because it's easy and ubiquitous!

Most of the programming that is done in the world is simple garden-variety business apps, websites, etc., where performance does not need to be measured in clock cycles and for most businesses it's just as important to be able to find programmers who are at least somewhat familiar with the languages they use as it is to have a language feature set that is optimal.

Then why in the heck would you list efficiency as a great plus when "performance does not need to be measured in clock cycles."
Are we talking about systems-programming here, or general programming, the listing you give says "general" -- and what the heck is an "optimal feature set"? We're talking languages here, so let's discard all libraries not mandated by the standard. *arg!*

Not at you, but at the idea that 'syntax style' would be considered a portion of 'feature set'. -- I like Ada's Pascal-like syntax, that's a personal preference (and recognized as such) for an attribute of the language, but that's not a feature (except in the very generalized sense): features of Ada would be "generalized loop construct [with the ability to test in the middle of the loop]", "localized index of the for-loop", "tasks", "standard specified library of containers" [dependent on implementation, but with certain minimal requirements for, say, searching], "strong type-checking", etc. [Again, I'm not using Ada because "Ada is great!", but because: I know it, I like it, & it serves as a concrete example (of a different style/approach in the same paradigm {imperative/procedural}).]

To each their own. Well, until I write my language. It will be the ultimate language, and everyone will have to write all their programs in it. How do I write /sarc in Ada ?

I think I'd use:

Ada.Text_IO.Put_Line( "/sarc" );
... ;)

re: Narrow experience criteria

I'd take a newbie programmer who had never seen the language I needed them to work in - if I thought they exhibited the qualities of a future excellent programmer - over a person with exactly the right experience who was a dolt. I'd also take an "excellent programmer", (right ethic, not lazy, good insight, etc.) who had worked as a programmer for 40 years in some ancient, irrelevant language over, once again, the dolt whose skills happen to be a "perfect fit" to the job. The person's resume does not write the code, the person does.

As far as C being "sufficient", there are bazillion unix systems all over the world (including the one I'm looking at) and most of the systems programs running on them are written in C. So, while C may not be the Holy Grail of computing, systems programs have long been successfully written in C. On the other hand, the fly-by-wire system of the Beoing 777 is written in Ada; the decision makers on that project chose Ada, and hey - more power to them.

Not just the fly-by-wire; IIRC, the entire software system (aside from some small segment[s] of assembly) of the 777 is written in Ada. IIRC same with the Apache [helicopter] and most of the F-22 (F-22 link). {Like I said, I like Ada; so I did a little research on what its used for/in.} I honestly think that it's a better language, in general, to program in than C/C++ or Pascal/Delphi... but that's another talk altogether.

As far as "exhibited the qualities of a future excellent programmer" goes this seems at odds with what companies want: IMO they're looking for coders, nor software engineers. [Again, that's based on my limited personal experience.]

re: Employee/employer, work for hire:

If you owned a business and hired me to write a complete sofware package for you, and then I went out and competed against you with well-funded backers, by bringing all the code I wrote to them, that would be the other side of copyright (ouch!).

Of course, if I wrote something on my own time that was NOT competitive with your product, you'd probably rightly feel that I had every right to do so, and I agree.

IMHO, for software developers who are key employees, whose work product value gets into the tens and hundreds of millions, having equity in the firm is the best route for all concerned, as it can much farther than plain salary and bonus on aligning goals and creating a shared risk/reward situation.

You're probably right about the equity-thing, but the fact still remains that there's a lot of bad-faith in intellectual property; like the given example about Google laying claim to all their employee's works. (Not a joke, I have a friend who was a S/W developer there who had developed a image-analyzer algorithm to detect breast-cancer [originally he developed it for Parkinson's MRIs] that, as he put it, would have been taken under the new contract's intellectual property clauses if he didn't have documentation backing up that he'd been developing this procedure for years before he came on-board.) Also, I got an email from Google about an application I'd put in (a long time ago) and when I expressed concern about it [I have interests in systems-programming, particularly OS] they broke off communication and that was it. What does that indicate? That they either were not serious enough to address valid legal-concerns, OR that they intended to lay claim to whatever I developed if they could. (Do I seriously think they'd get much from the latter: no. I'll admit I'm not a super-genius-- hell, some days weeks I question my own general-competency --but I would like to have the ability to own my own work.)

66 posted on 05/17/2013 1:18:47 PM PDT by OneWingedShark (Q: Why am I here? A: To do Justly, to love mercy, and to walk humbly with my God.)
[ Post Reply | Private Reply | To 64 | View Replies]

To: OneWingedShark
the "it has to be C/C++/C#/PHP" hurts the field.

Yes, but business management won't use Ada solely to help the field of computer science; they use what they think is best for their business, and being able to hire from a large labor pool helps to keep their costs down. If a skill they need is rare, they know they will need to pay more for it. If Ada caught on, the more companies used it the more it would make sense for others to switch to it.

FWIW, IMHO, C# and PHP are like teats on a bull. C#'s purpse is to be M$ monopolySoftware. For me, PHP is unnecessary, but then again I have no problem connecting to a database from C, writing my own data dictionary / toolset, generating HTML, etc., so I can write my own app-building toolset. The last thing I'd want to do is be stuck using someone else's toolset (like PHP) unless someone is paying me to, in which case one works in the client's world and smiles. Not to mention, executing uncompiled source is a security nightmare, let alone the CPU use of run time compiling (significant, of course, on high-volume sites), but everyone is adver-brainwashed into following the herd. Yes, I know there are compiled versions now, precisely to address performance issues (http://en.wikipedia.org/wiki/HipHop_for_PHP). Which one has to laugh at, it winds up being C++ anyway.

Markup languages? Come on.

They stink, but they are widely known. The whole web architecture is quite riduculous, really. But if you want to make a website, you need HTML. Nowadays, you really have to get CSS in there. If a business has a website that looks like it was made in 1994, they look rinky-tink. These markup languages stink because a) you can't count on features you use being deprecated b) they add tons of new features representing whole new ways of doing things and c) now are becoming enormous and including application logic, when they were first supposed to only be doing presentation. Combining app logic and presentation logic is just plain dumb (for the sophistication we have today). They are a wishy-washing standard that's all over the place and forces application rewrites just to maintain compatibility.

Businesses used to run on indexed files, then they switched to databases, and SQL is how they're accessed. It's funny cuz SQL was touted to be "english-like" and EASY when it first came out - that was the theory - simple and english-like - so idiots could use it ! But today we always see the recruiting search for the super-duper knowledge of SQL, cuz the engine can't magically always execute a statement super fast (hard to see that coming). Bottom line - difficult problems can't be wished away with buzzwords !

My point was that there's whole bodies of knowledge that are discarded (and have to be rediscovered) because of this.

Sad but true.

Where would we be if we accepted "it works" as "it works well"?

Funny, today we're lucky if we get works (see General Electric's race condition in the 2003 Power Blackout). The answer: marginal cost/benefit analysis. Does the programmer's time spent improving the thing cost less than the benefits of the results of his coding ?

Then why in the heck would you list efficiency as a great plus when "performance does not need to be measured in clock cycles."

I didn't say efficiency in this regard, i.e., performance being a great plus. Odd perhaps, because that's what's always heard. Well, actually the deal is, other solutions may be faster but C mostly renders sufficiently fast code. That's what's typically said by unix folks and I concur. To wit, the linux on my desktop. Assembler would often be faster but C code is usually fast enough. If not, usually Assembler is used. Once again - well-written assembler does not have to be unmaintable - Lotus-123 was written in assembler prior to version 3 - and it worked great.

Now for general programming, of say a not-too-high volume CGI-based website, string manipulation was a big part of the design of C and unix from the outset, and one can still make a CGI program in C (or C++) that works fine. Of course, with the performance of today's machines, a whole host of languages perform well enough to be used in this manner.

Of course, for high-volume, carrier-class, high-perf realtime, etc., where you get into all the various specialty fields or "industrial-strength" applications, most often then various specific languages have emerged as what's best for those situations. The differences in those cases are significant enough that developers typically made the same choices.

with what companies want: IMO they're looking for coders, nor software engineers

Yes, I'm talking my personal ideas; I agree, most companies don't feel too comfortable with too much talent or independent thinking in individuals.

Google

I would not work there; google for recent Bilderberg Google article.
67 posted on 05/17/2013 3:19:07 PM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 66 | View Replies]

To: PieterCasparzen

I failed to copy you to #63. I shared an experience with OneWingedShark. Enjoy if you have time. Otherwise, carry on. :)


68 posted on 05/18/2013 9:08:57 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 64 | View Replies]

To: PieterCasparzen; OneWingedShark

Google’s “Don’t be evil” is a sick joke.


69 posted on 05/18/2013 9:10:34 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 67 | View Replies]

To: CodeToad; OneWingedShark

Re: coders instead of engineers ...

I’ll try to make this brief. I had a conversation with my daughter’s HS Computer Science teacher about the curriculum. He was frustrated about having to teach specific items. He has fought the local ISD and Texas Education Agency (TEA) about the CS curriculum.

The TEA told him (in polite legalese) that the curriculum is not designed to teach students to be creative in solving problems. It is designed to familiarize them with current technology so they can get jobs.

I wrote a letter to the TEA and Governor Perry explaining that today’s students require the ability to solve problems not simply generate lines of code. In particular, I referenced a speech that Governor Perry gave on equipping our children with the knowledge they need to be the next generation of innovators.

I don’t know what happened behind the scenes, but the TEA recently asked that teacher to submit a redesigned curriculum with “inspiring innovation” in mind. Hopefully, we planted a seed.


70 posted on 05/18/2013 9:26:59 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 62 | View Replies]

To: BuckeyeTexan

Which is exactly what colleges have become: Trade schools. They teach such as computer languages but they do not educate anymore. It is all about “getting a job” and not “getting a career”.


71 posted on 05/18/2013 9:28:41 AM PDT by CodeToad (Liberals are bloodsucking ticks. We need to light the matchstick to burn them off. -786 +969)
[ Post Reply | Private Reply | To 70 | View Replies]

To: CodeToad

The result of which has been, IMO, that companies outsource coding to India because it’s less expensive and of similar quality. They don’t care about innovation.


72 posted on 05/18/2013 9:39:18 AM PDT by BuckeyeTexan (There are those that break and bend. I'm the other kind. ~Steve Earle)
[ Post Reply | Private Reply | To 71 | View Replies]

To: BuckeyeTexan

Totally agree with you from personal experience. I have been in those decision meetings where someone will say, “Ya know, for the crap we have to put up with why not try these eager foreigners at one-third the cost?” Granted, those foreigners are showing to do far worse but the bottom line still looks better.


73 posted on 05/18/2013 1:30:42 PM PDT by CodeToad (Liberals are bloodsucking ticks. We need to light the matchstick to burn them off. -786 +969)
[ Post Reply | Private Reply | To 72 | View Replies]

To: BuckeyeTexan
Google’s “Don’t be evil” is a sick joke.

It's offshore, see whistleblower on drudge now.

They were nwo from the get go, they were at Stanford.
74 posted on 05/18/2013 4:51:47 PM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 69 | View Replies]

To: CodeToad

That’s what the General Education Board and earlier Peabody Education Fund were all about.


75 posted on 05/18/2013 5:15:05 PM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 71 | View Replies]

To: BuckeyeTexan

The good stuff is usually done “in spite of” management.


76 posted on 05/18/2013 5:24:41 PM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 68 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-76 last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson