Thread: POSIX C Programming sub-board?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728

    POSIX C Programming sub-board?

    I've mentioned in a few threads that I'd believe a separate sub-board for POSIX.1 C99 programming here would be useful, and avoid newcomer frustration and confusion.

    For those who are not familiar with POSIX.1, also known as IEEE standard 1003.1, I'd recommend taking a look at the Wikipedia POSIX article, and the POSIX.1-2008 specification at the Open Group web site.

    In this forum, discussions involving POSIX.1 C have occurred in either the C programming sub-board or the Linux programming sub-board, but both are somewhat odd and incorrect. For one, POSIX.1 is a separate standard to C standards, and for another, POSIX.1 C99 works not only in Linux, but also in *BSDs (FreeBSD, OpenBSD, NetBSD, and so on), as well as in Mac OS X. The key point is that it is portable across several operating systems, and not just among free/libre ones. Furthermore, GNU tools are not the only implementation in Linux, either; even Intel provides a Linux C compiler suite that is widely used (in scientific computing in particular, which often leverages POSIX.1 plus MPI libraries, in my experience).

    I am not aware of any discussion forum that has a dedicated sub-board for POSIX.1 C99.

    The reasons why I think a separate sub-board would be useful, is that many tasks that beginner programmers start with, are both easier to solve, and solved in a more robust manner, when using the POSIX.1 interfaces. A few example cases:

    1. Reading standard input or a file line by line
      Using getline() there are no line length limitations (other than available memory).
    2. Traversing directory trees, finding files, matching files using glob patterns
      nftw(), glob(), fnmatch(), scandir()
    3. Searching for specific text in input
      POSIX has regex built-in to the C library (no external libraries needed) that provides POSIX basic regular expressions, which are commonly used and very powerful, and very easy to implement.
    4. Basic TCP/IP networking and name resolution
      POSIX sockets are extremely similar to BSD sockets (send(), recv(), but add functions like getaddrinfo() and getnameinfo() for easy name resolution for IPv4 and IPv6 addresses (basically letting the user handle both protocols with the same code).


    Of course, POSIX provides other, more advanced stuff too, like signals and threads (although threads do have minor behavioural differences in e.g. Linux). Memory mapping techniques (mmap() et al) are only minimally described in POSIX.1-2008, but current implementations (across Linux, *BSDs, and Mac OS X at least) have already converged to a mostly compatible set, indicating likely standardization in future POSIX versions.

    I've also emphasized C99 above, because it provides further features that make efficient portable code possible (in particular, standard integer types, variable argument lists, and flexible array members), compared to earlier C standards.

    The reason these are useful, is that they are already widely used in practice. Many new developers learn the standard C I/O first, but then, in real life, they need to re-learn a better way when they start writing code used and/or developed by/with others, too. In my experience, they also express dismay at having had to learn "an archaic way of doing things", when an easier, more robust, and more efficient way was already at their fingertips, except that nobody talked about them -- or talked of them only as "GNU extensions" or "Linux stuff", which they aren't.

    Although Microsoft did at one point provide a POSIX implementation, and cygwin does provide most of POSIX even on Windows, Microsoft Windows is the one OS that does not by default provide the POSIX.1 interfaces. Others do, however; and the situation might change at some point even on Windows, at least up to a point. In 2015, we know that C99 and POSIX.1-2008 is portable to basically all other widely-used desktop and server operating systems.

    What I do not know, and would like to know, are the downsides of having such a board.

    Because I do not personally use Windows, I obviously lack the view of a large fraction of desktop users. I don't even know the fraction of developers that work exclusively on the Windows platform, but as there is already a Windows programming forum, I don't think it should be an issue. I do not want to exclude anyone, or create an appearance of such; but as things stand, many programmers learn only inefficient ways to solve problems, using tools we already have (mostly) improved on.

    I am personally afraid that some of the heated discussions I have had about these, in particular with members who do not use the interfaces, are actually lessening the value of the discussions to other members. That is wasteful, undesirable. I've already limited my participation for a duration once for that exact reason -- I am not here to cause discomfort/dissonance/conflict; my only reason for participating is helping others learn.

    I'd also like to know if the experiences I've observed from new C developers using POSIX-y OSes are common in general, or for some reason limited to my narrow experience only. It is entirely possible that in the larger picture, not many of those developing on POSIX-y plaforms feel a separate POSIX C forum would even be useful here.

    Finally, if there are extrinsic reasons why another sub-board is not feasible at this time, please let me know, webmaster, and I won't take it up again. Even so, I'd be interested to hear others' experiences and opinions.

  2. #2
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    I imagine Nominal in a dungeon somewhere with his dominatrix watching him write up posts, just as he's about to finish, she says "Write it longer!", and when he writes it longer, she says still "Longer!".

    Anyway, the forums would probably be better served to just rename the Linux board to be the POSIX/Linux/BSD board.

  3. #3
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    Quote Originally Posted by Yarin View Post
    I imagine Nominal in a dungeon somewhere with his dominatrix watching him write up posts, just as he's about to finish, she says "Write it longer!", and when he writes it longer, she says still "Longer!".
    Hmph. My inability to restrict the verbosity of my literary output is a character flaw, not externally enforced. Besides, aint no lady evolved yet who could handle my recalcitrance.

    Quote Originally Posted by Yarin View Post
    Anyway, the forums would probably be better served to just rename the Linux board to be the POSIX/Linux/BSD board.
    A viable option that I too would support.

    Do you -- or others -- have any experience that might support or oppose my observations (on the value on learning POSIX.1 interfaces from the get go, as opposed to plain C)?

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Nominal Animal View Post
    A viable option that I too would support.

    Do you -- or others -- have any experience that might support or oppose my observations (on the value on learning POSIX.1 interfaces from the get go, as opposed to plain C)?
    I'm neither opposed or against. I'm contradicted.

    I don't think there's any intrinsic value to learn POSIX from the get go, as opposed to plain C. You just have two learn the two anyways. So, yeah... you take your pick. Programming isn't some activity that needs pampering. If someone is annoyed because they are learning raw material they will rarely use, then tell them to choose another profession. Programming is clearly not for them. It's a bit like mathematics, you know. It takes effort and learning stuff that just builds knowledge vertically and horizontally. "Programming is easy" is for $15 self-help books (which I'm sure you have no desire to ever author). It's not for real life. Much less when coding in C.

    As for the boards, the Linux Programming board is already a strong giveaway there will be a lot of POSIX talking in there. And yet look at how empty and neglected it is. Adding POSIX to the title wouldn't hurt, I guess. But I think it will have no effect. Least effort and maximum exposure will always make C people want to post on the C board. Creating a new board just for POSIX programming isn't a viable option either. There's been an historical resistance to the creation of new boards at CBoard. To be frank, I quite never understood why. But I never cared much.
    Last edited by Mario F.; 08-15-2015 at 05:28 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I'd also like to know if the experiences I've observed from new C developers using POSIX-y OSes are common in general, or for some reason limited to my narrow experience only.
    O_o

    If you are talking about the complaints, I don't see a complaints about learning language standard components before other components as being meaningful. I certainly don't see such complaints as being in any way related to specific libraries or environments.

    In my experience, they also express dismay at having had to learn "an archaic way of doing things", when an easier, more robust, and more efficient way was already at their fingertips, except that nobody talked about them -- or talked of them only as "GNU extensions" or "Linux stuff", which they aren't.
    A newbie complaining about learning "an archaic way of doing things" with respect to the standard components isn't worth the investment of explaining other libraries.

    I'm not trying to be rude. I'm simply asking. Why do you care, even tangentially, about a newbie's complaints?

    *shrug*

    I think you started the discussion because of an argument related, loosely, to the "POSIX" `getline` interface. With that in mind, would you tell a newbie complaining about the difficulty of correctly using `fgets` to just use the `getline` interface? If so, why? Learning programming is much more about the task of solving problems than the sins of any one library. Why would you simply not offer guidance in correctly using the `fgets` interface? (No. I see no problem with recommending other tools when a given tool can't really be made safe.) Why not help the newbie learn to make the tools they have available more palatable?

    You also drew attention the difference between extensions and standards; would you still worry about such complains if the alternative was a vendor limited extension? Let's pretend that I thought the C++ extensions available to Microsoft compilers made C++ easier to learn. Actually, we don't have to pretend; the C++ extensions available to Microsoft compilers can remove some of the complexity of templates. What would you think of a newbie who stopped learning standard C++ because the rigidity of the standard grammar is "archaic"? What would you think of me for suggesting that a newbie stop learning standard C++ in favor of the Microsoft flavor? What would you think of starting a board specifically for the Microsoft flavor?

    Of course, the reality isn't so nice a division. A lot of components become widely available long before any standards body considers any extensions for a revision. Let's instead pretend that the relevant Microsoft extensions became some standard not directly related to the official language standard. (I don't care which body. You can call IEEE in if you like.) Sure. The wider availability makes the flavor more suitable as a target for learning, new boards, and similar. However, I'll still have to ask the same sort of questions.

    Now, I don't have anything against POSIX or just other libraries in general. I'm saying that the official and undecorated standard still has an advantage. The advantage is the larger support available. You "speak" the POSIX standard. I "speak" some of the POSIX standard. A lot of platforms "speak" the POSIX standard. How many people though only know the language standard components? (Rather, how many don't know the POSIX standard because they learned some other libraries?) How many environments don't support the POSIX standard? For a newbie, I think being able to go almost anywhere to receive help practicing problem solving with programming which works almost anywhere is far more important that any time which might be claimed as lost because of "archaic" components.

    Yes. I have seen idiots complain about wasting time because they felt that a different library made some programming task so much easier to learn. I don't care about such newbies in the slightest. I've lost count of how much time I've spent in repeated failures trying to solve the same problems in "better" ways. When it comes to it, I don't see programming as a good fit for people who make such complaints.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  6. #6
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    Quote Originally Posted by phantomotap View Post
    I don't see a complaints about learning language standard components before other components as being meaningful.
    Well, to be direct, I'm referring to having to teach "new" programmers quite a bit of POSIX.1 stuff, just to get their output into any kind of semi-acceptable state.

    In other words, I see programmers learning POSIX.1 interfaces on their own, on top of pretty much wonky concepts, and a majority of them getting it wrong. Then, it takes quite a bit of remedial discussions and advice to get their concepts to a more productive state.

    I did not write it in the initial post that way, because of how Windows-only programmers would feel about that. (They're perfectly productive in a Windows environment; why wouldn't their output be considered acceptable in other environments, too? In POSIX environments, their code is like making polygonal wheels out of cardboard, while perfectly good, wide selection of tires are available.)

    Fact is, almost none of the tutorials on the web -- including here at cprogramming.com -- teach efficient usage of C99, even less POSIX.1. Even the Linux programming tutorials, books, and manuals often neglect to mention the portability of used features, especially any obstacles to portability.

    It is a waste of resources, to put bluntly.

    Quote Originally Posted by Mario F. View Post
    I don't think there's any intrinsic value to learn POSIX from the get go, as opposed to plain C.
    I disagree. For example, you'll never be able to write a tree traversal that is robust even when entries are being renamed or deleted using plain C interfaces. nftw() et al. are supposed to handle those correctly. Whether they do, is a matter of architecture and platform-specific C library implementation, but in my experience, they're pretty robust already.

    Quote Originally Posted by Mario F. View Post
    You just have two learn the two anyways.
    Well, what I've seen happening, that does not happen until they encounter someone like me, who won't accept their crappy, leaky output.

    Producing the correct outputs when given test inputs is not enough; software should not crash or damage unrelated results or data just because some of the inputs were in the wrong format. Detecting and reporting errors is as important as producing correct outputs; otherwise, how do you know when to trust the output? Recheck by hand?

    One of the typical examples of that attitude is never checking the return value from scanf() functions. That practice should be curb-stomped, hard, before it becomes a habit to anyone.

    Quote Originally Posted by Epy View Post
    tl;dr
    I do have similar issues with Fortran. Specifically, not utilizing Fortran 95 features, module interfaces, forall loops, and so on. Not because I like F95 more, but because it allows the compiler to generate better code (especially better vectorized code) without changing the results produced by the code.

    I'm not complaining about that here (that much), because there is no Fortran board here.

    Quote Originally Posted by Mario F. View Post
    When before we had a programming culture centered on principles of code correctness and quality, today bugs are ok and expected.
    You thought you were veering off with that discussion, but the fact is, that is very close to why I'd like a sub-board to discuss problem-solving using C99 and POSIX.1 interfaces.

    You see, it's not that bugs are OK and expected; it is more that people are only considering a very limited inputs and processing conditions, and everything else is somebody elses problem.

    (If it passes what the boss asked, it's good, even if it does not actually work for the business case it was intended to. And since it does what the boss asked, the boss will have a hard time pinning it on the programmer, because the ultimate problem is being a boss who cannot choose good programmers or describe tasks to sufficient detail. So, the problem and blame gets shuffled to others. Been there. Because people like me won't stay quiet about such problems, we're easy targets for blame-shifting too.)

    Quote Originally Posted by Alpo View Post
    For the new sub-board, I don't think it would be a horrible idea, just a little redundant.
    What about the clash with Windows C programmers? Don't you think it might cause unnecessary friction among those who cannot use all of C99 or POSIX, especially if they see a simple answer to their question -- but one that they cannot use?

    I personally do get a bit miffed, when reading a question, getting interested, starting to think of ways to help .. then suddenly see the fflush(stdin); or similar, and realize the asker requires help with Windows-specific behaviour, with which I cannot help.

    Quote Originally Posted by whiteflags View Post
    I think at one point - largely before the invention and advent of GUI - it would have been true that everyone should learn to program.
    I believe people should be taught to use multiple tools to solve problems. Not always relying on Excel or some other spreadsheet for statistics; you might get the same thing done with a single line awk script if the data was already in a CSV file. Then, you could automate it with a few lines of Python and Qt.

    Reeling this back to the original topic, I don't think every C programmer should be taught the traditional ANSI C approaches anymore. I believe the POSIX.1 interfaces (and especially the thread-safe ones, like strtok_r() instead of strtok()) should be the priority, with the ANSI C stuff (like fgets(), gets(), and so on) as just a footnote.

    Quote Originally Posted by Alpo View Post
    Also I hear more and more of previously isolated systems being interfaced with IP and other protocols to do remote management and other things with regular computers acting as clients.
    Surprisingly, also a part of the reason for this thread.

    Traditional ANSI C/C89 C library is a loaded footgun. It is chock full of hidden dangers, from buffer overruns to non-reentrancy. Teaching it is like teaching a language that has no words to describe whole classes of dangers. Out of sight, out of mind.

    With C99 and POSIX.1 libraries, we've figuratively burned our fingers so many times with the old interfaces that we agreed on new ones (that were developed as GNU or BSD extensions, and found to work better). While these are far from perfect, they are an improvement: at least now we have uncovered some of the dangers (especially reentrancy issues), and found ways of protecting against some of them (compare fgets() and getline() behaviour). Now, the various problems are clearly shown in the interface, in the function prototypes. Not out of sight, hopefully not out of mind either.

    For example, I suspect that many of those who've managed to read this far, have wondered what would reentrancy have to do with microcontrollers. No, I don't think we'll switch to multi-core microcontrollers, that's not it. Microcontrollers do, however, utilize a lot of interrupt functionality; this is very similar to POSIX.1 signals. Atomicity, hidden state in library functions, and so on, need pretty much exactly the same kind of solutions for the two.

    Obviously, most microcontrollers use nonstandard libraries, and they avoid most of those issues by simply defining interfaces where most of those problems are avoided. Still, I think that being familiar with the C99 and POSIX.1 features that avoid similar issues, would make it likelier that developers for microcontrollers and embedded systems would utilize the known solutions, instead of writing buggy code, and hoping nobody will notice.

    Most gadgets nowadays are frustratingly unreliable. Sure, some of it is planned obsolescence and cheap materials, but most of it is poor software design. Your 3D printers' end stops are used for homing, but they do not actually stop the device when it is working. Your WiFi-enabled gadget has a "hidden" Telnet port with a fixed username and password the manufacturer uses to update the firmware (except they never have, as the firmware development team was fired when the first version got to market).

    "We'll fix the bugs later" has become the standard way of software engineering, and I hate that.

    I think my ulterior motive in asking for a POSIX.1 sub-board was an irrational hope that there one could brusquely curb-stomp buggy and bug-prone suggestions, instead of hand-holding and politically correct encouragement, without being pressured to accept all suggestions as equally valuable and precious.

    Nah, not going to happen. Might be detrimental to ad revenue, considering that politically incorrect speech is a worse offense nowadays than risking other peoples lives for personal gain.

    Hm. I think I'll have to ask my Mistress if she'll allow me to set up my own discussion board, please. Now, where did I put my ball gag?

  7. #7
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,612
    Quote Originally Posted by Nominal Animal View Post
    I think my ulterior motive in asking for a POSIX.1 sub-board was an irrational hope that there one could brusquely curb-stomp buggy and bug-prone suggestions, instead of hand-holding and politically correct encouragement, without being pressured to accept all suggestions as equally valuable and precious.

    Nah, not going to happen. Might be detrimental to ad revenue, considering that politically incorrect speech is a worse offense nowadays than risking other peoples lives for personal gain.

    Hm. I think I'll have to ask my Mistress if she'll allow me to set up my own discussion board, please. Now, where did I put my ball gag?
    I wouldn't give up until you PM webmaster and tell him to peek at the thread or just ask him to make what you want.

    I don't really have a problem with a new board, but I've only gotten more lackadaisical with age anyway.

    Quote Originally Posted by Alpo
    But again I need to say that I've not seen the place where all people are encouraged to learn programming (Was it in an article or video somewhere?)
    You would have had to follow the meme for a while to know where it's coming from. The reason I think it's marketing is because I see it a lot on Twitter et al. but if you don't use social media, then like most things on the internet, it's invisible.
    Last edited by whiteflags; 08-16-2015 at 01:30 PM.

  8. #8
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Tbh, I'm kind of surprised there isn't an Objective-C sub-board, considering there's a C# one.

  9. #9
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    "Programming is easy" is for $15 self-help books.
    O_o

    I realize I'm going off, and I'm sorry, but I pretty much have to ask for thoughts with such a posted comment.

    What is it with seemingly everyone regurgitating "Everyone should learn to program." these days? Why? How did we get the point? If the sentiment was honest, I'd be on board. The sentiment is really, at least seems to be, "Science is super popular you guys!". Why does so many people seem to be on board with making science a ........ing popularity contest?

    Okay. I know I started this tangent myself, but I'm going to stop. I would like to hear the thoughts of the people in the thread, but I'm likely to rant forever so I'll just keep my mouth shut.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  10. #10
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by phantomotap View Post
    What is it with seemingly everyone regurgitating "Everyone should learn to program." these days? Why? How did we get the point?
    I'll be damned if I understand it myself. I've been with the software development industry for close to 30 years. And the only explanation I can find is the one you gave; somehow the geek culture was moved to stardom. Maybe the exceeding popularity of computer games helped in creating this notion that programming is cool, I don't know. The only thing I know for sure is that this has had an impact on the general quality of the code being produced, as more and more wannabe programmers make it to paying jobs. When before we had a programming culture centered on principles of code correctness and quality, today bugs are ok and expected. It does not matter that everyone is selling their snake oil of programming languages that are safer and easy to use. Bugs are still ok and expected. It does not matter if a project code today benefits from a larger number of programmers, more powerful analytical tools and code development and review processes and tools. Bugs are ok and expected. Because stardom really impacts on the way people grade quality. It's not without a reason why Pop music sprouts so much so-called artists that are a complete fake, when say Blues seems to only call in for the greatest among the best.

    Besides the reducing of the quality of code produced, I think it also had a negative impact on the job market. Back when I was starting, when programming was a highly payed niche profession, you just wouldn't hear of unemployed programmers. Today so many people enter this career, completely unprepared and so full of false messages of hope. You have junior programmers being payed the salary of an help desk and a competitive environment that will guarantee on most cases you won't have many changes of climbing the hierarchical tree inside the company. Meanwhile, the job market is so saturated, chances are you will be employed for the duration of a project and make the unemployment masses once it is finished. Some quality individuals will escape the slaughter and secure rewarding careers, of course. But for the vast majority of programmers who were mislead into this career by such things as "programming is easy" and "everyone can learn how to program", their future is bleak and uncertain.

    This is precisely why I insist so much in being severe and exigent towards newbies. There's no hypocrisy in it when I say I rather see a newbie that tackles the real challenges and frustrations of programming, showing promise as a future quality programmer, than another pampered child waiting the day he will join the unemployment lines.

    This has all a bit to do with a post that I have sort of being thinking in my head lately. Been with CBoard for 12 or 13 years, so this is the place I would like to announce my full retirement from my programming career. Not that anyone should care. But I do care about announcing it here. Seems the right thing to do. But that's for another thread. However, for reasons I shall make clear, over the years I have become less capable as a programmer. Also increasingly less interested. For maybe 5 years now I have been trying to find a way out. It's not easy when your whole formal education is centered around it. Fortunately through some blood and tears, I managed it. The story of how and why, I will let you know. But it touches on some of the things discussed here.


    EDIT: And lets not talk on the impact the saturated job market has had on senior programmers >35 years old. It's sad beyond measure seeing some of my friends struggling to find a location. Some of them having to move the family with them, when they finally get a position too far away.
    Last edited by Mario F.; 08-15-2015 at 06:32 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  11. #11
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,612
    Quote Originally Posted by phantomotap View Post

    What is it with seemingly everyone regurgitating "Everyone should learn to program." these days? Why?
    I've struggled with the question myself. There were reasons at one point that everyone should learn to program, but I would agree that the sentiment isn't sincere. To me the whole thing comes off as just a way to market worse versions of Khan Academy, because for some reason the people responsible targeted those who cared remotely about computing once in their lives, instead of people who cared about education generally by teaching programming and other things.

    Just to prove that I thought about it I think I'll go into my process for a couple paragraphs.

    I think at one point - largely before the invention and advent of GUI - it would have been true that everyone should learn to program. Programmers have been compared to scribes before, and I think, in the multitude of universes, there is one where everyone is using the shell effectively like everyone uses word processing. We don't live in that universe mind you, and I don't think it's probable that we will become that universe, with the way that interfaces are appealing more and more to casual users. Not that I in any way really regret the choice being made.

    It's not like people who flirt with JavaScript are going to suddenly going to be better at their jobs, or necessarily any easier to communicate with on technical matters, either. At the same time, I didn't want to be exclusive, because I know of people who at least say they learned to program for self-improvement, which I don't have a problem with.

    So, I came away thinking "Everyone should learn to program" is just a marketing statement. I also believe that this marketing statement will not be the prime mover in a generation of bad programmers who flirted with coding and decided it was for them. I think most people would discard it, since they probably have other hobbies or dreams in their lives.

    Something dumb inspiring bad programming seems to happen anyway. When I was 15, I wanted a Web site and started learning. Now, I'm a terrible programmer.

    "Everyone should learn to program" could also just be a meme, and memes are stupid.
    Last edited by whiteflags; 08-15-2015 at 11:38 PM.

  12. #12
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    tl;dr

  13. #13
    Registered User Alpo's Avatar
    Join Date
    Apr 2014
    Posts
    877
    Quote Originally Posted by phantomotap
    Okay. I know I started this tangent myself, but I'm going to stop.
    I'm sorry, but that level of foresight isn't allowed, you must be at least this reactionary to ride the internet:

    |____________________
    |
    |
    |
    |
    |
    |
    |
    |

    Quote Originally Posted by phantomotap
    What is it with seemingly everyone regurgitating "Everyone should learn to program." these days? Why? How did we get the point? If the sentiment was honest, I'd be on board. The sentiment is really, at least seems to be, "Science is super popular you guys!". Why does so many people seem to be on board with making science a ........ing popularity contest?
    I'm not sure I know exactly what you are talking about, but I've seen similar things. Consider this, when books were first being printed, reading for fun was considered a sort of idle fantasy that would rot your brain. Most people would have considered the ability to read to be a habit of eccentric wealthy people, or weirdos. As time went on it's value was seen, and now parents encourage their kids to read even fiction books, and reading books is perceived completely different.

    Now when you are being dumb, some pedant is likely to say "You should try reading a book sometime!", as if the activity of reading is inherently educational. There are also now many people walking around who have had life/perspective changing experiences from things read in books, so they might spread the idea that reading books is 'good' ('good' in a presuppositional way, the same way A = A).

    My opinion (of these other people's opinions) is that it's a good thing, but also I remember hearing once that the quickest way to devalue something is to praise it's irrelevant attributes (like when I compliment a girl on how pretty her earlobes are, and it turns out she's a physics professor :P). Every time I see an example of the latter thing happening with one of my hobbies I cringe a bit...

    Quote Originally Posted by yarin
    I imagine Nominal in a dungeon somewhere with his dominatrix watching him write up posts, just as he's about to finish, she says "Write it longer!", and when he writes it longer, she says still "Longer!".
    Well that explains it, the only mystery left is... when you imagine this, what are you wearing?




    For the new sub-board, I don't think it would be a horrible idea, just a little redundant. It would probably be good enough to just add Posix tags to related threads. I don't know if moderators have that power, but if so it might be possible to run a script that automatically tag all the threads containing certain keywords retro-actively (wild speculation on my part :P).
    WndProc = (2[b] || !(2[b])) ? SufferNobly : TakeArms;

  14. #14
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by Alpo View Post
    Well that explains it, the only mystery left is... when you imagine this, what are you wearing?
    Triggered! Your misogynistic joke has been reported to the CBoard police; I look forward to seeing your banning.


    Quote Originally Posted by phantomotap View Post
    What is it with seemingly everyone regurgitating "Everyone should learn to program." these days? Why?
    The most influential entities pushing this message are large software companies; and the sectors of press and government that worship these companies. You know, the very same companies that stand to profit from an oversaturated job market.


    Quote Originally Posted by Mario F. View Post
    However, for reasons I shall make clear, over the years I have become less capable as a programmer. Also increasingly less interested. ... The story of how and why, I will let you know.
    I look forward to reading it.

  15. #15
    Tweaking master Aslaville's Avatar
    Join Date
    Sep 2012
    Location
    Rogueport
    Posts
    528
    Quote Originally Posted by Yarin View Post

    The most influential entities pushing this message are large software companies; and the sectors of press and government that worship these companies. You know, the very same companies that stand to profit from an oversaturated job market.
    O.o

    You mean saturation of good programmers ? I don't think that's going to happen soon,... at least not that soon

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. POSIX programming in Windows?
    By jw232 in forum Windows Programming
    Replies: 1
    Last Post: 10-25-2009, 09:03 AM
  2. Replies: 6
    Last Post: 03-12-2008, 01:19 PM
  3. Posix Thread Programming
    By reddybk1 in forum C Programming
    Replies: 8
    Last Post: 10-14-2004, 04:51 PM
  4. Posix programming
    By reddybk1 in forum C++ Programming
    Replies: 2
    Last Post: 10-14-2004, 03:48 PM
  5. Posix Thread programming
    By reddybk1 in forum C++ Programming
    Replies: 1
    Last Post: 10-13-2004, 11:40 PM