Is very important, and it be consistent is more so; a good editor Vim or Emacs and code beautifier is your friend. Often you will need to temporarily re-format code, as you work on it, but in a big code base root-nd-branch reformats must be very rare, it screws up the SCM history, so I often re-format, fix get patch, revert, apply patch. Git etc makes this very easy.
Personally I hate the KR if (foo) {
} style. I like
{ }
An 80 column line limit is also OLD, I never edit in narrow windows >160 common.
There are just 3 good reasons for comments in code: (a) to refer to a published paper describing an (obscure) algorithm, eg '[fast graph traversal algorithm, M. M. Balakrishnarajan and P. Venuvanalingam,Computers & Chemistry, Volume 19, Issue 2, June 1995, Pages 101-106] , (b) to indicate an arcane, obscure usage, which would be better eliminated, but sometimes cannot be eg in device drivers, when merely addressing a device register has side effects, (c) to very briefly document major parts of program flow-meaning, if this isn't otherwise obvious.
In addition, temporary development comments help while writing or refactoring code, but they come out and become empty or (a)-(c), eg// XXXX I dont understand this; or # Class is defined in Foo.pm.
Usually code is OVER commented, or the comments are facile eg 'i++;// increment i' and this CRAP should be avoided at all costs.
The other thing to be avoided is lengthy legalese or copyright information spread all over code. If this is necessary, at all, it should fit on one line and if necessary reference a COPYRIGHT or LEGAL file
OK// Copyright (c) 2001-2010 Foo.Bar, all rights reserved, Licenced under the MIT license.
BAD/* Error constants. Linux specific version.
-- 15 lines deleted
02111-1307 USA. */
Finally, never believe the comments, at minimum they didnt get debugged!
Can someone in the know indicate if/why it can not rock itself out. About 4 times/year I have to rock my car out of street parking, if I left it out and it snows 10cm.
You would need to be able to load code to do the rock locally, and a 3d accerometer to decide when to change direction, or floor the drive as you came out.
Or the other possibility, a cheap GSM/G3 modem for the netbook, especially if the modem also had all the low end phone fuctionality, I often use a Nokia 3100 instead of my N95 if I only want to make/receive calls.
The real trouble with handhelds is that they have suffered from feature bloat, and reduced battery life, without a usable keyboard, which could be in mat-flexi format and 1400x900 screen.
Extension APIs are exactly the last thing you want, the standard Windoze API is 150 (15000%) times too large, and we dont need any more, especially designed as M$ does it, ie to create a lock in.
This is exemplified by the London Sock Exchange trading system built by a consortium of M$ and Accenture which (a) was non performant and (b) wouldnt stay up: Just for once the Right Thing (TM) happend and both the CIO and the system got shit canned.
What this tells us is (a) the extension API game is a con, (b) where there is enough riding on it corruption of CIOs and vendor bullshit get swept aside.
Amusingly I saw a Journalist piece blaming problems with SAN system on the POSIX api while ignoring the fact that the vendor's SAN protocol would not support the extensions he was complaining were missing. The fact is the IT press is 98% full of stuff written by people who dont know what they are talking about.
For shills like you, go away, crawl back into your hole ans STFU.
The billions come from american business and are used, inter alia, to corrupt governments and international organizations eg ISO
An the point & click mentality has held development of really useful application back two decades while all the major components of Office are used to foster undesirable working practices. One of the things that make me despise this way of working is how many daft documents, Excel spreadsheets filled with errors and non sequiturs, PowerPoint presentations that say nothing or lie, and worst of all Outlook/Exchange and Access. All these encourage a naive attitude, both to business and IT and are a the root of many of the most horrible enterprise kludges (which suites M$ since it creates vendor lock in.)
At the same time it encourages a tsunami of mediocre content and a generally uncritical attitude, see some of the risk-analysis of CDOs by the big four + rating agencies, or Access + VB + Excel 'applications' which infests much of the enterprise. The bigger a US enterprise is the more its operation will depend on M$ based Office applications which (a) dont work, (b) dont meet the business requirement and (c) cant be easily replaced, extended or fixed because the business 'Rock Star' who wrote it didn't write any documentation, lost the source, and has left to create havock elsewhere.
This is the dirty truth that underlies big C-words like Enterprise Architecture Framework and aligning IT with business needs, see the un-parsable advertisement for a M$ Linux-Office competition guy.
This is mostly a US problem and elsewhere lots of organizations, both public and private, have wised up to this and many eg the Gendamerie Francaise, have migrated from M$ with major cost-savings, all the TCO market speak aside, and more important have major efficiency gains. This is why, for example the EU Commission is putting such emphasis on Open Document Formats, Interoperability and encouraging market competition. The truth is that US goverment has become too corrupted, in both parties, the people seem unable to rain in the Congress and force free market competion.
On one hand the US National Security aperatus has reverted to pre 9/11 games ie Not Sharing, usually justified to PROTECT SOURCES, in this case a walk in concerned father, and just after they released an incorrectly redacted PDF which contained all the original screening material, just covered in black, and now Napolitano is dithering in Circles.
These idiotic assholes are very lucky I am not president because I would fire all the secretaries, directors, deputy and assistant directors of each of the Departments and Agencies involved in these repeated debacles, in this case CIA, DHS, TSA and anyone else found with dirty hands,
Then I would use the C level pay savings by re-appointing only half these posts to:
Get Schneier to head an office of Risk Assesment of no more than 50 analysts, drawn from existing agencies, reporting to the NSA so we would stop continually fighting the last war.
Get a similar independant thinker to take over and run an Office of Counterterrorist Reference Data, Comprising No-Fly, Watch... lists with the responsibility get them up-to-date and correct. Web access to all via a web interface.
Finally, let me point out that all this full-body scan/sniffers is bullshit since the next guy to try this will probably put the stuff up his ass, not in his unter hosen, so that unless you use an NMR machine you are not going to find it. That is exactly why it is vital to listen to people like Schneier, who has been consistently correct, rather that sheeple pacifing politicians. This is too serious for business as usual.
It is not true that all WYSIWYG word processors produce poorly typeset output, this is just another INNOVATION M$ brought to the business. Although I think TeX based typesetting is the best, there are other usable systems, see O'Reilly's Colophons
FrameMaker, which can also handle (very) large documents, but has slowly got worse under Adobe's stewardship. Wordperfect also produces acceptable, if not good output.
As an architect, I find this very strange, the best algorithms are not complicated and public domain, screen sizes and resolutions have improved hugely and the memory and compute power available to the layout engine is now hugely greater. Perhaps basic layout became a poor relation to too many Advanced features, anyhow I cringe looking at material printed through Word. It is plain UGLY.
One of the most irritating features of the misguided that M$ use as shills is the that they are STUPID. How many can be constantly convinced that this LATEST version has a novel super UI, is really SECURE and..., when that was the spiel for all earlier versions that are now derided. XP, Vista, Win7... Office, Office 2007.
The "decade of bad UI experience into your expectations" was also brought to you by M$, last year, when it was shilled to be the best.
On the desktop M$ biggest competitors is M$ yesterday, everywhere else, and on the desktop outside the US, FOSS is rapidly eating M$'s lunch. With Virtualization, and more memory and CPU power, you can use Office under Wine, or virtualized but with shared filesystems you can also have a stable and capable base environment with Apache, MySQL, PHP... all on hand and free.
Yes, lots of us have helped to port good stuff to Windoze, including a number of For Profit outfits like ActiveState who do Python, Perl and TK/TCL, and lots of ports sit on Cygwin which provides a POSIX api on Windoze. You CAN assemble a tool chain on Windoze by hand (more easily with MINGW), especially if you know Win32/64 api, POSIX... and the xtool you want to port, and best have done this 2-3 times, to put together a usable tool kit on an enterprise locked down machine takes, maybe half a day, if you bring all your tools on CD or stick.
My original point is that is MUCH harder than learning programming, Linux distribution vendors do the dependency resolution and packaging, and because Bill cant tell them how and why to screw their own users, the entire ball-of-wax works. So DUMP Windoze if you can, else use Linux as a virtualized system, or if all else fails use Cygwin.
One other advantage of Linux is that it offers multiple desktops, and since it dosnt crash much, you can have contexts open for months...
It gives me MUCH pleasure to respond to your criticism of "Windoze" and "M$", it is not fun, it is just a a way of expressing my severe displeasure, in English, of the illegal and venal conduct of one of your largest corporations, but we are aware that they have already bought you and expect no better.
We understand that your fully corrupt system of government will not ensure that existing Court decisions are enforced, nor proper investigation and prosecution brought, eg in the corruption of ISO.
We also understand that M$ now has a corps of shills, such as yourself, and astoturfers to infest mailing lists as you are doing.
I look forward to seeing Gates & Balmer in a Super-Max for perjury.
You have LOST, throwing chairs will not help!
Ich wünsche allemal, außer Ihnen, auf Slashdot ein frohes und erfolgreiches neues Jahr
Every time I read something like this I want to puke: People like this dont realise how much work it is to even install such a way-from-the-beaten-track system, and support it.
Teaching people such stuff is a huge dis-service. Further we are talking about initial languages, which should, almost by definition, be mainstream.
Academic axe grinders should keep their experimental ideas for further study.
OO is very unlike how anyone with any sense thinks, but the concept has a useful place in the toolbox. The problem is it is much overused, and the popular coding style x.hpp x.cpp for each class, too many, ill thought out classes or class-heirarchies make for obfusticated code and require a visualizer which tended to be expensive.
The test of a really bad OO design is Singleton classes, Singleton objects and, as already been mentioned above, factories... this is OO bullshit!
There is absolutely nothing in C that makes for buffer overflows, in C managing your data is YOUR business.
When I write user-land code I have a very small library which provides the basic tools to write safe app code and I get 1% of the bugs I would in either C++ or java, and with dmalloc and valgrind I cam prove it. In reasonable time. If you can not write in C you can not program.
Wasn't a traitor, more like a prisoner of the Macro + KLUDGE culture that was AT&T then, and a lot of Not Invented Here!
On sabatical at Cambridge (England) Bjarne found out about Simula, and thought bringing Classes into C would be neat. Not the first to make this mistake he decided to compile his new C++ into C, thinking easier. Huge mistake, CFront, years of kludges, and still no advance from C, which is an excellent systems programming language, to C++ which was supposed to be THE applications language. Still no strings, a death march of implementation, burial by conflicting committee, endless mindless complexity eg sematics of constructors/destructors, hopeless reliance on strict typing (also a Java problem)... those interested should read the C. Strachey paper on CPL and note type general, and its semantic implications, but yes this is 30 years old.
C++ says much about the short-termism of the USA. It really is much easier to do it right the first time.
"before you get into heavy stuff like operator overloading or inheritance."
Never get deeply into either, operator overloading just obfusticates function calls, and in C++ is simply a twee excuse for not making strings a first class type, huge design error in C++, every idiot I see is writing a new string package, since it took years(decades) to get StdLib standardised, so the idiots read that and think they should do it too. When I do a code review I read the code first and mark up all the re-invented wheels and demand an explanation for them, it is all NEW code that needs to be DEBUGGED.
Inheritance is not the be all and end all of OO design, problem decomposition is. Mutual inheritance is (almost) always wrong and class heirarchies need to be simple and naturally follow the problem.
If I tell a developer to analyse a situation and I get the response "I will go and write a class" I know I have a looser.
Another word about tools, if confronted with a huge mass of incomprehensible C++, SourceNavigator, originally from Cygnus Solutions but OS'd bt Red Hat is really useful.
VERY, very true, programmers are born, not taught, when I was teaching Computer Science I think we had about a 1% success ratio since unlike many subjects including Mathematical Computer Science, programming can not really be taught, yes you can help a programmer to become much better, teaching methods, models, tools, patterns, reviewing very good code, read Knuth's Web and TeX for example.
You can lead a horse to water, but you can not make a programmer out of a non-programmer, their brain is wired differently!
Don't use Windoze or any M$ tools unless you have to, though they look simple, they bring endless unnecessary complexity all caused by M$ trying to screw its customers, use Fedora, SuSE, Debian or derivatives and, when the install is done you have an OS and full tool chain
Editors: vi, xemacs, gedit...
Compilers: C, C++, Fortran, Pascal, Ada
Managed: Perl, Python, Java
IDE: Eclipse... ddd, gdb, valgrind...
If you have to do it on a Windoze box, Virtualize, or as a last resort use cygwin.
I would like to recommend (1) C, and (2) Python. NOT C++, or Java AT any price.
Reasoning C, is simple and short to define and understand and is well supported with debugging tools ddd, and gdb, which now has reverse debugging and he will also learn about the POSIX api. Python is very clean, and 2.6 up has a very good Object Model and Library. It is the best language for people entering OO mode. Programmers who know C, Fortran, Cobol or Pascal seem to transition to Python easily. It also gas good built in debugging tools, just not as good as Perl, which continues to irritate me.
No way start with C++, Java or Pascal. C++ + StdLib + Boost is just too complicated, and every iteration of the Standard Committee seems to make things worse, the two Scott Myers books are very useful and I ensure that anyone working on a C++ project knows of and reads them. But anything that needs that is a mess and the C++ world continues to multiply inherit the kludge of CFront or rather its effects on the language design and fix-by-committee. Java is too verbose and tends to have people depend on program writing tools, which is the last thing a learner needs. Pascal is old, and not going anywhere.
Remember C was derived from BCPL which was created as a teaching language. I don't hold with the theory that it is necessary to protect the beginner from pointers and mandate a managed and garbage-collected language. If you are able, after a few months, you should show him some assembler and explain the tool chain.
I do not want to start a further long comment but (a) CRU-HADLEY-MET started this scam, (b) american science, like much else, there has long been politicised with scientists being told what they may tell Congress and we have gone from Bush (no AGW) to Obama AGW and are, in any case followers.
There was no FUD about Jones, just completely un-ethical conduct, including corrupting peer-review and lying about data. UEA will have a hard job keeping him, even if they want to the CRU e-mails and code constitute a huge disregard and distain for the Scientific Method. They had absolutely no excuse for throwing away data except to prevent re-analysis, this is inexcusable.
There is no point going around like nodding donkeys deferring to other experts or institutes, you need to look at the data and fit FOR YOURSELF, and when you do you will be horrified since the Executive Summary does not match the data, at all. And there is a lot of hostile analysis that Jones and Mann have tried to suppress.
Now to turn to the key point, it is not like this is either a big or complex data problem, in terms of other science, say Particle Physics, or Commercial problems eg raw materials, and taking into account modern computer capacity these are small to medium scale problems and dealing with incomplete date with errors is Statistically well understood, and what you NEVER do is throw away raw data. What these clowns did did was deliberate and thus either ignorant or fraudulant and means one can place no trust in the final analysis, since you dont know how good the experimental fit is.
That is why you dont do it.
Now having read a lot of the emails and code and heard all the cooked v raw data statements from CRU-MET I can tell you that I have concluded that this was a flawed dishonest exercise starting from a desired conclusion and ruthlessly and unscientifically fudging the data to support it. Having to proxy away the Middle Age Warm period and Little Ice Age are the proofs. This thing is rotten to the core and will not fly.
Absolute nonsense, all sorts of things HAVE to comply with Open Standards and continue to be developed, it is only in IT that people are so stupid/corrupt that this is disputed. Examples in the IT fields are C++ and JavaScript. You can extend the standard in an Open and RAND way, likewise you can buy parts for your car from a variety of vendors.
Or you can behave like Micro$oft, corrupt institutions, pack delegations and corruptly buy market share while deliberately mis-implementing Open Standards eg ODF Excel.
It is well past time this was firmly stopped, preferably by the DOJ in the US, but Europe is moving quickly moving to more open procurements particularly in Spain, France and Germany.
I live about 120k from the French border, the Baseler grenze, at which I stop speaking German and shift to French. Thanks to ex President Francois Mitterand almost all young French speak English since they have to pass a spoken English test to go to French University.
In the Alsace, almost all speak German as well, and in the South West Spanish "je n comprend pas" is very much a thing of the past, largely as a consequence of the mobility of labour in the EU.
I am sorry, that is cluless. The e-mails do prove it and Jones has been removed as the head of CRU while they are investigated, so the Vice Chancellor of East Anglia sees a prima facie case to be answered.
The more you look at the CRU-HADLEY-MET-IPCC goings on the more concern one feels, and the more you look at the proxy data Jones and Mann used the more fake it seems, at least to me and I know a lot about Mathematics, Statistics and Data. But, contrary to what you argued above about the thousands of hours spent massaging the data, which __they__should__not__have__done__, anyway, I just want to see ALL the RAW data exposed to truely independant analysis. And I mean all data including the Medieval Warming Period and Little Ice Age and all the contemporary met station data without selection. If you then try to fit the data to the wrong model it will just fit badly.
And how asking for and independant analysis of ALL the raw data, in the light of constant lies and two scandals, can be called FUD is beyond my conception, this is a very serious issue and independant analysis, by those hostile to the perceived wisdom, is urgent and long overdue; and this was entirely caused by the failure of CRU+MET to respond to lawful request for the data. Or rather to respond with more lies, now exposed.
When the emails appear, CRU has LOST 75% of the raw data, an excuse on a par with Bush/Cheney or "The dog ate my homework" be serious.
Is very important, and it be consistent is more so; a good editor Vim or Emacs and code beautifier is your friend. Often you will need to temporarily re-format code, as you work on it, but in a big code base root-nd-branch reformats must be very rare, it screws up the SCM history, so I often re-format, fix get patch, revert, apply patch. Git etc makes this very easy.
Personally I hate the KR if (foo) {
} style. I like
{
}
An 80 column line limit is also OLD, I never edit in narrow windows >160 common.
drop, but I cant always get what I like.
There are just 3 good reasons for comments in code: (a) to refer to a published paper describing an (obscure) algorithm, eg '[fast graph traversal algorithm, M. M. Balakrishnarajan and P. Venuvanalingam ,Computers & Chemistry, Volume 19, Issue 2, June 1995, Pages 101-106] , (b) to indicate an arcane, obscure usage, which would be better eliminated, but sometimes cannot be eg in device drivers, when merely addressing a device register has side effects, (c) to very briefly document major parts of program flow-meaning, if this isn't otherwise obvious.
// XXXX I dont understand this; or # Class is defined in Foo.pm.
// increment i' and this CRAP should be avoided at all costs.
// Copyright (c) 2001-2010 Foo.Bar, all rights reserved, Licenced under the MIT license.
/* Error constants. Linux specific version.
In addition, temporary development comments help while writing or refactoring code, but they come out and become empty or (a)-(c), eg
Usually code is OVER commented, or the comments are facile eg 'i++;
The other thing to be avoided is lengthy legalese or copyright information spread all over code. If this is necessary, at all, it should fit on one line and if necessary reference a COPYRIGHT or LEGAL file
OK
BAD
-- 15 lines deleted
02111-1307 USA. */
Finally, never believe the comments, at minimum they didnt get debugged!
Can someone in the know indicate if/why it can not rock itself out. About 4 times/year I have to rock my car out of street parking, if I left it out and it snows 10cm.
You would need to be able to load code to do the rock locally, and a 3d accerometer to decide when to change direction, or floor the drive as you came out.
Or the other possibility, a cheap GSM/G3 modem for the netbook, especially if the modem also had all the low end phone fuctionality, I often use a Nokia 3100 instead of my N95 if I only want to make/receive calls.
The real trouble with handhelds is that they have suffered from feature bloat, and reduced battery life, without a usable keyboard, which could be in mat-flexi format and 1400x900 screen.
Extension APIs are exactly the last thing you want, the standard Windoze API is 150 (15000%) times too large, and we dont need any more, especially designed as M$ does it, ie to create a lock in.
This is exemplified by the London Sock Exchange trading system built by a consortium of M$ and Accenture which (a) was non performant and (b) wouldnt stay up: Just for once the Right Thing (TM) happend and both the CIO and the system got shit canned.
What this tells us is (a) the extension API game is a con, (b) where there is enough riding on it corruption of CIOs and vendor bullshit get swept aside.
Amusingly I saw a Journalist piece blaming problems with SAN system on the POSIX api while ignoring the fact that the vendor's SAN protocol would not support the extensions he was complaining were missing. The fact is the IT press is 98% full of stuff written by people who dont know what they are talking about.
For shills like you, go away, crawl back into your hole ans STFU.
The billions come from american business and are used, inter alia, to corrupt governments and international organizations eg ISO
An the point & click mentality has held development of really useful application back two decades while all the major components of Office are used to foster undesirable working practices. One of the things that make me despise this way of working is how many daft documents, Excel spreadsheets filled with errors and non sequiturs, PowerPoint presentations that say nothing or lie, and worst of all Outlook/Exchange and Access. All these encourage a naive attitude, both to business and IT and are a the root of many of the most horrible enterprise kludges (which suites M$ since it creates vendor lock in.)
At the same time it encourages a tsunami of mediocre content and a generally uncritical attitude, see some of the risk-analysis of CDOs by the big four + rating agencies, or Access + VB + Excel 'applications' which infests much of the enterprise. The bigger a US enterprise is the more its operation will depend on M$ based Office applications which (a) dont work, (b) dont meet the business requirement and (c) cant be easily replaced, extended or fixed because the business 'Rock Star' who wrote it didn't write any documentation, lost the source, and has left to create havock elsewhere.
This is the dirty truth that underlies big C-words like Enterprise Architecture Framework and aligning IT with business needs, see the un-parsable advertisement for a M$ Linux-Office competition guy.
This is mostly a US problem and elsewhere lots of organizations, both public and private, have wised up to this and many eg the Gendamerie Francaise, have migrated from M$ with major cost-savings, all the TCO market speak aside, and more important have major efficiency gains. This is why, for example the EU Commission is putting such emphasis on Open Document Formats, Interoperability and encouraging market competition. The truth is that US goverment has become too corrupted, in both parties, the people seem unable to rain in the Congress and force free market competion.
On one hand the US National Security aperatus has reverted to pre 9/11 games ie Not Sharing, usually justified to PROTECT SOURCES, in this case a walk in concerned father, and just after they released an incorrectly redacted PDF which contained all the original screening material, just covered in black, and now Napolitano is dithering in Circles.
... lists with the responsibility get them up-to-date and correct. Web access to all via a web interface.
These idiotic assholes are very lucky I am not president because I would fire all the secretaries, directors, deputy and assistant directors of each of the Departments and Agencies involved in these repeated debacles, in this case CIA, DHS, TSA and anyone else found with dirty hands,
Then I would use the C level pay savings by re-appointing only half these posts to:
Get Schneier to head an office of Risk Assesment of no more than 50 analysts, drawn from existing agencies, reporting to the NSA so we would stop continually fighting the last war.
Get a similar independant thinker to take over and run an Office of Counterterrorist Reference Data, Comprising No-Fly, Watch
Finally, let me point out that all this full-body scan/sniffers is bullshit since the next guy to try this will probably put the stuff up his ass, not in his unter hosen, so that unless you use an NMR machine you are not going to find it. That is exactly why it is vital to listen to people like Schneier, who has been consistently correct, rather that sheeple pacifing politicians. This is too serious for business as usual.
It is not true that all WYSIWYG word processors produce poorly typeset output, this is just another INNOVATION M$ brought to the business. Although I think TeX based typesetting is the best, there are other usable systems, see O'Reilly's Colophons
FrameMaker, which can also handle (very) large documents, but has slowly got worse under Adobe's stewardship. Wordperfect also produces acceptable, if not good output.
As an architect, I find this very strange, the best algorithms are not complicated and public domain, screen sizes and resolutions have improved hugely and the memory and compute power available to the layout engine is now hugely greater. Perhaps basic layout became a poor relation to too many Advanced features, anyhow I cringe looking at material printed through Word. It is plain UGLY.
Try Google: Open Office Download,
Be honest, not coy.
One of the most irritating features of the misguided that M$ use as shills is the that they are STUPID. How many can be constantly convinced that this LATEST version has a novel super UI, is really SECURE and ..., when that was the spiel for all earlier versions that are now derided. XP, Vista, Win7 ... Office, Office 2007.
... all on hand and free.
The "decade of bad UI experience into your expectations" was also brought to you by M$, last year, when it was shilled to be the best.
On the desktop M$ biggest competitors is M$ yesterday, everywhere else, and on the desktop outside the US, FOSS is rapidly eating M$'s lunch. With Virtualization, and more memory and CPU power, you can use Office under Wine, or virtualized but with shared filesystems you can also have a stable and capable base environment with Apache, MySQL, PHP
Yes, lots of us have helped to port good stuff to Windoze, including a number of For Profit outfits like ActiveState who do Python, Perl and TK/TCL, and lots of ports sit on Cygwin which provides a POSIX api on Windoze. You CAN assemble a tool chain on Windoze by hand (more easily with MINGW), especially if you know Win32/64 api, POSIX ... and the xtool you want to port, and best have done this 2-3 times, to put together a usable tool kit on an enterprise locked down machine takes, maybe half a day, if you bring all your tools on CD or stick.
...
My original point is that is MUCH harder than learning programming, Linux distribution vendors do the dependency resolution and packaging, and because Bill cant tell them how and why to screw their own users, the entire ball-of-wax works. So DUMP Windoze if you can, else use Linux as a virtualized system, or if all else fails use Cygwin.
One other advantage of Linux is that it offers multiple desktops, and since it dosnt crash much, you can have contexts open for months
Herrn Mace,
It gives me MUCH pleasure to respond to your criticism of "Windoze" and "M$", it is not fun, it is just a a way of expressing my severe displeasure, in English, of the illegal and venal conduct of one of your largest corporations, but we are aware that they have already bought you and expect no better.
We understand that your fully corrupt system of government will not ensure that existing Court decisions are enforced, nor proper investigation and prosecution brought, eg in the corruption of ISO.
We also understand that M$ now has a corps of shills, such as yourself, and astoturfers to infest mailing lists as you are doing.
I look forward to seeing Gates & Balmer in a Super-Max for perjury.
You have LOST, throwing chairs will not help!
Ich wünsche allemal, außer Ihnen, auf Slashdot ein frohes und erfolgreiches neues Jahr
Every time I read something like this I want to puke: People like this dont realise how much work it is to even install such a way-from-the-beaten-track system, and support it.
Teaching people such stuff is a huge dis-service. Further we are talking about initial languages, which should, almost by definition, be mainstream.
Academic axe grinders should keep their experimental ideas for further study.
OO is very unlike how anyone with any sense thinks, but the concept has a useful place in the toolbox. The problem is it is much overused, and the popular coding style x.hpp x.cpp for each class, too many, ill thought out classes or class-heirarchies make for obfusticated code and require a visualizer which tended to be expensive.
... this is OO bullshit!
The test of a really bad OO design is Singleton classes, Singleton objects and, as already been mentioned above, factories
There is absolutely nothing in C that makes for buffer overflows, in C managing your data is YOUR business.
When I write user-land code I have a very small library which provides the basic tools to write safe app code and I get 1% of the bugs I would in either C++ or java, and with dmalloc and valgrind I cam prove it. In reasonable time. If you can not write in C you can not program.
Wasn't a traitor, more like a prisoner of the Macro + KLUDGE culture that was AT&T then, and a lot of Not Invented Here!
... those interested should read the C. Strachey paper on CPL and note type general, and its semantic implications, but yes this is 30 years old.
On sabatical at Cambridge (England) Bjarne found out about Simula, and thought bringing Classes into C would be neat. Not the first to make this mistake he decided to compile his new C++ into C, thinking easier. Huge mistake, CFront, years of kludges, and still no advance from C, which is an excellent systems programming language, to C++ which was supposed to be THE applications language. Still no strings, a death march of implementation, burial by conflicting committee, endless mindless complexity eg sematics of constructors/destructors, hopeless reliance on strict typing (also a Java problem)
C++ says much about the short-termism of the USA. It really is much easier to do it right the first time.
"before you get into heavy stuff like operator overloading or inheritance."
Never get deeply into either, operator overloading just obfusticates function calls, and in C++ is simply a twee excuse for not making strings a first class type, huge design error in C++, every idiot I see is writing a new string package, since it took years(decades) to get StdLib standardised, so the idiots read that and think they should do it too. When I do a code review I read the code first and mark up all the re-invented wheels and demand an explanation for them, it is all NEW code that needs to be DEBUGGED.
Inheritance is not the be all and end all of OO design, problem decomposition is. Mutual inheritance is (almost) always wrong and class heirarchies need to be simple and naturally follow the problem.
If I tell a developer to analyse a situation and I get the response "I will go and write a class" I know I have a looser.
Another word about tools, if confronted with a huge mass of incomprehensible C++, SourceNavigator, originally from Cygnus Solutions but OS'd bt Red Hat is really useful.
VERY, very true, programmers are born, not taught, when I was teaching Computer Science I think we had about a 1% success ratio since unlike many subjects including Mathematical Computer Science, programming can not really be taught, yes you can help a programmer to become much better, teaching methods, models, tools, patterns, reviewing very good code, read Knuth's Web and TeX for example.
You can lead a horse to water, but you can not make a programmer out of a non-programmer, their brain is wired differently!
Don't use Windoze or any M$ tools unless you have to, though they look simple, they bring endless unnecessary complexity all caused by M$ trying to screw its customers, use Fedora, SuSE, Debian or derivatives and, when the install is done you have an OS and full tool chain
...
... ddd, gdb, valgrind ...
Editors: vi, xemacs, gedit
Compilers: C, C++, Fortran, Pascal, Ada
Managed: Perl, Python, Java
IDE: Eclipse
If you have to do it on a Windoze box, Virtualize, or as a last resort use cygwin.
I would like to recommend (1) C, and (2) Python. NOT C++, or Java AT any price.
...
Reasoning C, is simple and short to define and understand and is well supported with debugging tools ddd, and gdb, which now has reverse debugging and he will also learn about the POSIX api. Python is very clean, and 2.6 up has a very good Object Model and Library. It is the best language for people entering OO mode. Programmers who know C, Fortran, Cobol or Pascal seem to transition to Python easily. It also gas good built in debugging tools, just not as good as Perl, which continues to irritate me.
No way start with C++, Java or Pascal. C++ + StdLib + Boost is just too complicated, and every iteration of the Standard Committee seems to make things worse, the two Scott Myers books are very useful and I ensure that anyone working on a C++ project knows of and reads them. But anything that needs that is a mess and the C++ world continues to multiply inherit the kludge of CFront or rather its effects on the language design and fix-by-committee. Java is too verbose and tends to have people depend on program writing tools, which is the last thing a learner needs. Pascal is old, and not going anywhere.
Remember C was derived from BCPL which was created as a teaching language. I don't hold with the theory that it is necessary to protect the beginner from pointers and mandate a managed and garbage-collected language. If you are able, after a few months, you should show him some assembler and explain the tool chain.
Compile -> Assemble -> Link -> Load (Debug), and,
Compile -> Interpret
I do not want to start a further long comment but (a) CRU-HADLEY-MET started this scam, (b) american science, like much else, there has long been politicised with scientists being told what they may tell Congress and we have gone from Bush (no AGW) to Obama AGW and are, in any case followers.
There was no FUD about Jones, just completely un-ethical conduct, including corrupting peer-review and lying about data. UEA will have a hard job keeping him, even if they want to the CRU e-mails and code constitute a huge disregard and distain for the Scientific Method. They had absolutely no excuse for throwing away data except to prevent re-analysis, this is inexcusable.
There is no point going around like nodding donkeys deferring to other experts or institutes, you need to look at the data and fit FOR YOURSELF, and when you do you will be horrified since the Executive Summary does not match the data, at all. And there is a lot of hostile analysis that Jones and Mann have tried to suppress.
Now to turn to the key point, it is not like this is either a big or complex data problem, in terms of other science, say Particle Physics, or Commercial problems eg raw materials, and taking into account modern computer capacity these are small to medium scale problems and dealing with incomplete date with errors is Statistically well understood, and what you NEVER do is throw away raw data. What these clowns did did was deliberate and thus either ignorant or fraudulant and means one can place no trust in the final analysis, since you dont know how good the experimental fit is.
That is why you dont do it.
Now having read a lot of the emails and code and heard all the cooked v raw data statements from CRU-MET I can tell you that I have concluded that this was a flawed dishonest exercise starting from a desired conclusion and ruthlessly and unscientifically fudging the data to support it. Having to proxy away the Middle Age Warm period and Little Ice Age are the proofs. This thing is rotten to the core and will not fly.
Absolute nonsense, all sorts of things HAVE to comply with Open Standards and continue to be developed, it is only in IT that people are so stupid/corrupt that this is disputed. Examples in the IT fields are C++ and JavaScript. You can extend the standard in an Open and RAND way, likewise you can buy parts for your car from a variety of vendors.
Or you can behave like Micro$oft, corrupt institutions, pack delegations and corruptly buy market share while deliberately mis-implementing Open Standards eg ODF Excel.
It is well past time this was firmly stopped, preferably by the DOJ in the US, but Europe is moving quickly moving to more open procurements particularly in Spain, France and Germany.
I live about 120k from the French border, the Baseler grenze, at which I stop speaking German and shift to French. Thanks to ex President Francois Mitterand almost all young French speak English since they have to pass a spoken English test to go to French University.
In the Alsace, almost all speak German as well, and in the South West Spanish "je n comprend pas" is very much a thing of the past, largely as a consequence of the mobility of labour in the EU.
I am sorry, that is cluless. The e-mails do prove it and Jones has been removed as the head of CRU while they are investigated, so the Vice Chancellor of East Anglia sees a prima facie case to be answered.
The more you look at the CRU-HADLEY-MET-IPCC goings on the more concern one feels, and the more you look at the proxy data Jones and Mann used the more fake it seems, at least to me and I know a lot about Mathematics, Statistics and Data. But, contrary to what you argued above about the thousands of hours spent massaging the data, which __they__should__not__have__done__, anyway, I just want to see ALL the RAW data exposed to truely independant analysis. And I mean all data including the Medieval Warming Period and Little Ice Age and all the contemporary met station data without selection. If you then try to fit the data to the wrong model it will just fit badly.
And how asking for and independant analysis of ALL the raw data, in the light of constant lies and two scandals, can be called FUD is beyond my conception, this is a very serious issue and independant analysis, by those hostile to the perceived wisdom, is urgent and long overdue; and this was entirely caused by the failure of CRU+MET to respond to lawful request for the data. Or rather to respond with more lies, now exposed.
When the emails appear, CRU has LOST 75% of the raw data, an excuse on a par with Bush/Cheney or "The dog ate my homework" be serious.
Rotary wing is much harder to fly than fixed wing. They are dynamically unstable and dont glide well (at all).
Learn what you are talking about or STFU.