Wow. I hate Mac OS. I think it has the worst UX currently available. I tolerate Mac OS only because i LOVE the developer tools. They are the best available anywhere IMHO. Cocoa and Cocoa Touch are still a decade ahead of the competition. I use Unity with C#, and my colleagues use Xamarin. I've spent decades in MS Visual Studio. Xcode and Cocoa blow them all away.
So true! After all, nobody wants a light weight silent high resolution device with 10 hour battery life that matches the performance of a heavier low resolution computer that lasts at most 6 hours on a charge.
I am not interested in buying an iPad Pro. It is not the right computer for me, but I don't pretend it isn't a good fit for other people. It has attractive features at an attractive price for the feature set.
If a full blown Unix like programming environment with full support for C and C++ isn't enough, xamarin is there and provides "Single shared codebase for Android, iOS, and Windows" available under the MIT license. https://visualstudio.microsoft...
There is also no requirement to use Apple's App Store as long as you have physical access to a device and a free developer account. I expect most people who want to build and develop open source will probably have physical access to an iOS device if they want one.
I am a Computer Science Professor, and it astounds me how many people have zero curiosity and manage to go through life without understanding how or why anything works around them. They use magical thinking. They don't care how anything works!
I tried to teach my nieces about basic physics like mechanical advantage. I built a sling with block and tackle and showed 7 and 6 year olds how they could lift heavy weights. They didn't care. They are both adults now. One is a nurse. They can't/won't change a tire. They fall victim to every scam there is. They are smart, but they are devoid of curiosity. It makes me sad.
The range of personalities and interests exhibited by the human species astounds me. It seems that a very small percentage of the population is responsible for all advances in knowledge and technology.
Objective-C was created by Dr. Brad Cox in the Mid 1980s - https://en.wikipedia.org/wiki/... Objective-C is a mashup of ANSI C and Smalltalk. Smalltalk is the original Object Oriented programming language created by Alan Kay in the 1970s. Alan Key coined the term, "Object Oriented", to describe Smalltalk. He later said, "I coined the term Object Oriented, and I promise, C++ is not what I had in mind." He has also said he wished he called Smalltalk "Message Oriented" because messages are the key, not objects.
Steve Job's NeXT Computer Corp. used Objective-C to create NeXTstep graphical frameworks currently known as Cocoa (Foundation Kit, App Kit, etc.) and Cocoa Touch (UIKit etc.) NeXTstep shipped commercially in October 1988.
Apple purchased NeXT in December 1996, and NeXtstep eventually became Mac OS X and iOS.
Who remembers the doom and gloom about "Peak Oil"? Who remembers being told we are heading into a new ice age? Why do we pay attention to this crap. It's just like a new fad diet.
I love C#. It is my favorite programming environment. However, C#, like Java, is wedded to a virtual machine with Just In Time compilation. It was a deliberate and usually sensible design choice.
Swift, in contrast, compiles to native machine code. That too was a deliberate and sensible design choice. Swift can theoretically be a "systems programming" languages as in, "You can write operating systems with it.". C# is not suitable (as it is) for systems programming because C# programs generally do not interact with real hardware. They interact with virtual hardware.
In the vast majority of cases, I find use C# or Swift more or less equal with an aesthetic preference for C#. There are a few cases where Swift is suitable that C# is not.
Certain languages like Scala, some Lisp variants, and Erlang do a pretty good job of supporting concurrent and parallel programming. To my knowledge, no programming language fully relieves programmers of the burden of devising design not including race conditions, priority inversions, deadlocks, resource contention producing serialized execution, and countless other "gotchas".
It is hard enough to find a programmer who can translate a recursive algorithm into a loop or visa versa. It is hard enough to find programmers who can correctly code non-trivial algorithms of any sort. It is nearly impossible to find programmers who are able to correctly design let alone implement concurrent and parallel programs. It seems that very few human beings are able to conceptualize concurrent programming... but that may just be the case in my little corner of the universe.
Possibly copying libraries into each App bundle on iOS sidesteps one of Android's key security issues: Any exploitable flaw in any shared library potentially enables privilege escalation and destroys any utility or protection from Android's "every app has its own user id" paradigm of security. Android's sandboxes aren't... for that reason among others.
In contrast, iOS uses hardware virtualization capabilities of ARM processors to more truly sandbox apps. An app can gain root permissions and still not be able to mess around outside of its sandbox.
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university.
I confess to being perplexed by some Swift language design decisions. For example,
- Why does Swift have both a "var" keyword and a "let" keyword? One should be sufficient with the other being a default behavior. If a symbol is not declared "var" then just assume it is constant or visa versa. Furthermore, it may not be necessary to have either of the key words because (I think) in every case, the need for variability and mutation should be determinable by the compiler. Type is already being inferred by the compiler, and mutability could reasonably be considered an aspect of type.
- Why are Swift collection types like Data always mutable? What happened to the concept of immutable containers from Cocoa. [Yes, I know the "bridged" CF types are always mutable, but that was another bad decision IMHO.]
- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Having experienced frustration trying to port high performance graphics code from C/C++/Objective C to Swift, what's up with that? IMHO, Apple's sample code for using OpenGL/GLKit/Metal from Swift leaves the impression that Swift is unsuited to the style of "low level" programming needed/used by OpenGL/GLKit/Metal.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
- Finally, a trivial aesthetic critique: Why "var foo : typename" like Ada and Pascal (IIRC) instead of "var typename foo" like every language that inherited C style syntax? Is there an advantage to the Swift approach that I haven't seen, or was it just an aesthetic choice? Did the choice not produce some IMHO "silly" syntax for method declarations with named parameters?
CDC Cyber 6000 mainframes from roughly 1966 are still defending or at least warning the USA of missile attack.
AN/UYK-43 32-bit computers in United States Navy surface ships and submarine platforms starting from 1984 are still in widespread use.
AN/AYK-14 is a microprogrammed 16-bit airborne computer that was designed in 1976 by the Control Data Aerospace Division in Bloomington, Minnesota, and it is still in widespread use. https://en.wikipedia.org/wiki/...
IANAL, but... Many years ago, I worked in the USA for a Canadian Corp. The Corp. routinely bounced payroll checks, delayed sending payroll checks, or wrote payroll checks for less than the amount owed. Every time theses things happened, the Corp. claimed it was difficulties with exchange rates and transfers to the USA bank from which pay checks were drawn for USA employees.
I happened to work right across the street from a US Federal Building, so one day, several co-workers and myself walked over to inquire about any remedies that might be possible. We provided documentation to the helpful FBI agent who said bouncing payroll checks could fall under FBI jurisdiction. I also happened to mention the situation to my congressman who I knew socially as a long time family friend. A few weeks later, a Treasury Department person called and told us that nothing could be done to induce better behavior by a Canadian Corp. with respect to USA "employees", and furthermore, we weren't employees. We were considered independent contractors from the point of view of the Canadian Corp. Apparently, a shell USA Corp. employed us as regular employees with benefits and then contracted with the parent Corp. for our time. We received W-2 instead of 1099, but we were effectively 1099 contractors. The Treasury representative seemed to be telling us that we were not protected by USA labor laws or banking laws.
Treasury representative's statements didn't seem right, and we asked many questions to clarify our understanding. Several of us asked a local lawyer about the situation, and the answer we got was that any court action would have to start in Canada, and any settlement would be consumed by attorney fees. In other words, it wasn't worth it.
After a while of continued mistreatment, all of the USA employees except a few salesmen who worked on commission moved on to greener pastures. Such is life.
While I am sympathetic to your point of view, I still disagree.
Europe is not magical. There is a significant homelessness problem in France, for example. The French unemployment rate has been higher than the USA unemployment rate for every single year since 1948. (Yes, there are differences in the way unemployment is calculated, but France has had higher unemployment even when statistics are correlated).
Taking your assertions one by one: Since 2008, The USA has offered 53 weeks of full unemployment benefits when a person looses a job. That is actually quite generous even by European standards.
USA healthcare is not the "worst healthcare system in the world" by any measure. In 2000, the USA was rated 38th. Belgium was rated 21. http://en.wikipedia.org/wiki/W.... The USA has presumably improved since 2000 with more people covered by insurance etc.
"very little maternity leave, no paternity leave, a recent push for no sick time or vacation time (they lump it all together) and we also have the shortest amount of vacation time compared to all the modern countries. our corporations work the workers to death and then dispose of them, IF you can even GET a job in the US (h1b, yes! born here, sorry.)"... The USA is composed of 50 states. Not all labor laws are at the federal level. Absence of laws does not mean absence of benefits. For example, I have 6 weeks of paid paternity leave, 5 weeks of paid vacation, and numerous other employment benefits that are not enshrined in law.
Interface Builder has not changed in any fundamental ways since it debuted in 1988 with NeXTstep. Unlike crappy Microsoft tools for the 90's, it is NOT a screen drawing tool. It is an object instantiation and configuration tool. You set the properties and relationships between live objects graphically. The objects are then archived (serialized) and later unarchived (deserialized) into your running iOS app.
Watch this from 1992 http://www.youtube.com/watch?v... Steve Jobs demonstrates Interface Builder starting 23 minutes into the video. Also note that Windows 3.1 shipped in 1992.
As a university instructor, I disagree. Many subjects are presentable in sensible sequence with knowledge neatly building on prior knowledge. The entire curriculum is created with prerequisite and co-requisite courses. Attempting a 400 level class without having mastered the 100 level course content is a recipe for pointless struggle.
Wikipedia is a great resource. It's articles are self contained and generally rely only on general knowledge. Wikipedia is not a good source for delving deep into subjects.
Having said that, I use wikipedia extensively. There is almost an entire Computer Science undergraduate curriculum in there. t still requires a guide. There are still sensible paths through the information. Here is a great example: http://en.wikipedia.org/wiki/Fibonacci_heap In the context of a Data Structures course, that is a great page. What benefit would that page provide to somebody who has never programmed and doesn't know what a data structure is? You can follow links to http://en.wikipedia.org/wiki/Heap_(data_structure) and then http://en.wikipedia.org/wiki/Data_structure and then you are directed to dead-tree textbooks that explain the topics in a sensible sequence.
The blind leading the blind. People who can't tell good answers from bad upvote bad answers. Try searching for some topic that you know a lot about and see what I mean.
In my opinion, Stack Overflow is most often the blind leading the blind. There will be 20 wrong answers, 10 answers to the wrong question, 2 suboptimal solutions, and if you are in luck there will be 1 good solution. Now, tell me which is which. It seems to me that the good answer is almost always buried under crap.
Stack overflow questions are often badly stated and difficult to find with more correct search terms. If you don't even know the search terms, the site is useless.
There have been a few times when stack overflow saved me a lot of time. There have been many times when stack overflow has been a pointless time sink.
As an author of three successful dead-tree programming books, I have a few observations.
1) I use the electronic versions myself because of easy search (better than an index) and copy/paste. 2) In book format, it's possible to lead a reader through topics in a sensible order that builds on prior topics. 3) The challenge with electronic/on-line documentation is that there is no expectation that readers will approach the material in any particular order. Readers type a search term into google and up pops a page or two of documentation. How can the author make safe assumptions about the definitions of terms and prior conceptual knowledge the reader will have? Adding links to the definitions of terms and links to chapter oriented conceptual documentation doesn't usually help because readers are impatient, and there is no good place in the middle of the documentation to start. 4) Many readers don't know the terms to type into google and therefore aren't lead to the relevant conceptual documentation even if they would have read it had they known.
Each USA citizen votes for one representative in the House of Representatives and two Senators. Each representative represents slightly less than 1,000,000 people. Given voting rates, a US Representative can get elected with as few as 200,000 supporters.
Residents in Wyoming, Vermont, North Dakota, South Dakota, Alaska, Delaware, and Montana can elect senators with as few as 200,000 supporters.
Small interest groups in large states like California and New York are unlikely to get any representation unless they happen to be concentrated within one or two congressional districts. Of course, that's the case in places like New York City and San Francisco where individual neighborhoods are almost sufficient to elect their own representatives to congress. Barney Frank of Massachusetts's 4th congressional district is a stirling example of a congressman with a vary narrow and special interest constituency. See also Charles Rangel who represents the Harlem portions of Manhattan.
In a proportional representation system, would Harlem have any representation? Would anyone in North Dakota be represented?
Instead of CITIES I should have said metropolitan areas. For example, Dallas TX contains 1,223,229 people and Fort Worth TX contains 758,738 people and the Dallas/Fort Worth metropolitan area contains 6,526,548 people http://en.wikipedia.org/wiki/Dallas–Fort_Worth_metroplex
5% in the USA is between 15,000,000 and 20,000,000 people! You want to exclude people who can find 15,000,000 people who support their platform? Under your standard, the following 45 European states would have zero representation in a theoretical European political union: (FYI, The USA contains more that 20 CITIES with greater population than the nation, Norway)
Population density, area and population of countries and dependencies in Europe (2002-07-01 est.) Country Population
Vatican City 900
Gibraltar (UK) 27,714
San Marino 27,730
Monaco 31,987
Liechtenstein 32,842
Faroe Islands (Denmark) 46,011
Guernsey (UK) 64,587
Andorra 68,403
Isle of Man (UK) 73,873
Jersey (UK) 89,775
Iceland 312,384
Malta 397,499
Luxembourg 512,000
Montenegro 626,000
Cyprus 803,147
Estonia 1,294,236
Slovenia 2,048,847
Macedonia 2,054,800
Latvia 2,366,515
Armenia 3,262,200
Albania 3,544,841
Lithuania 3,601,138
Bosnia and Herzegovina 3,964,388
Ireland 4,234,925
Moldova 4,434,547
Croatia 4,490,751
Norway 4,942,700
Georgia 4,960,951
Finland 5,302,545
Denmark 5,368,854
Slovakia 5,422,366
Switzerland 7,301,994
Serbia 7,498,001
Bulgaria 7,621,337
Austria 8,169,929
Sweden 9,076,744
Azerbaijan 9,493,600
Hungary 10,075,034
Belarus 10,335,382
Portugal 10,617,192
Czech Republic 10,674,947
Belgium 11,007,020
Greece 11,606,813
Cody claims teacher performance doesn't correlate with student achievement. I believe him. I don't agree with his assertions that schools are underfunded and couldn't educate poor students even with more funding.
It is common for urban poor school districts to cost much more per student than the surrounding suburbs. Look at Kansas City or Washington DC for stark examples.
Seriously, spending more than $10,000 per year per student is a travesty. A class with 30 students should not cost $300,000 and the money is not going to the teacher!
I agree, end the war on drugs and greatly reduce parent incarceration rates. I agree, find employment for everybody that raises them above poverty. I agree, support family planning, pre-natal care, nutrition, and free pre-school or head start.
But, it isn't poverty exactly or school financial resources that predict student performance. It's culture. There is an urban poor culture that doesn't exist among poor rural students, and the outcomes differ. How can we change the culture that devalues education? How can we change the violence and street power culture? How can we convince people not to have children that are later neglected and abused?
Wow. I hate Mac OS. I think it has the worst UX currently available. I tolerate Mac OS only because i LOVE the developer tools. They are the best available anywhere IMHO. Cocoa and Cocoa Touch are still a decade ahead of the competition. I use Unity with C#, and my colleagues use Xamarin. I've spent decades in MS Visual Studio. Xcode and Cocoa blow them all away.
So true! After all, nobody wants a light weight silent high resolution device with 10 hour battery life that matches the performance of a heavier low resolution computer that lasts at most 6 hours on a charge.
I am not interested in buying an iPad Pro. It is not the right computer for me, but I don't pretend it isn't a good fit for other people. It has attractive features at an attractive price for the feature set.
I'm confused. iOS is OS X. I can compile the same code base for both systems with the press of a button.
There is lots of Open Source software already running on iOS:
https://github.com/dkhamsing/o...
If a full blown Unix like programming environment with full support for C and C++ isn't enough, xamarin is there and provides "Single shared codebase for Android, iOS, and Windows" available under the MIT license.
https://visualstudio.microsoft...
There is also no requirement to use Apple's App Store as long as you have physical access to a device and a free developer account. I expect most people who want to build and develop open source will probably have physical access to an iOS device if they want one.
I am a Computer Science Professor, and it astounds me how many people have zero curiosity and manage to go through life without understanding how or why anything works around them. They use magical thinking. They don't care how anything works!
I tried to teach my nieces about basic physics like mechanical advantage. I built a sling with block and tackle and showed 7 and 6 year olds how they could lift heavy weights. They didn't care. They are both adults now. One is a nurse. They can't/won't change a tire. They fall victim to every scam there is. They are smart, but they are devoid of curiosity. It makes me sad.
The range of personalities and interests exhibited by the human species astounds me. It seems that a very small percentage of the population is responsible for all advances in knowledge and technology.
That 1990 video hurt me, and something inside died a little.
You have your history completely wrong.
Objective-C was created by Dr. Brad Cox in the Mid 1980s - https://en.wikipedia.org/wiki/...
Objective-C is a mashup of ANSI C and Smalltalk. Smalltalk is the original Object Oriented programming language created by Alan Kay in the 1970s. Alan Key coined the term, "Object Oriented", to describe Smalltalk. He later said, "I coined the term Object Oriented, and I promise, C++ is not what I had in mind." He has also said he wished he called Smalltalk "Message Oriented" because messages are the key, not objects.
Steve Job's NeXT Computer Corp. used Objective-C to create NeXTstep graphical frameworks currently known as Cocoa (Foundation Kit, App Kit, etc.) and Cocoa Touch (UIKit etc.) NeXTstep shipped commercially in October 1988.
Apple purchased NeXT in December 1996, and NeXtstep eventually became Mac OS X and iOS.
Who remembers the doom and gloom about "Peak Oil"? Who remembers being told we are heading into a new ice age? Why do we pay attention to this crap. It's just like a new fad diet.
I love C#. It is my favorite programming environment. However, C#, like Java, is wedded to a virtual machine with Just In Time compilation. It was a deliberate and usually sensible design choice.
Swift, in contrast, compiles to native machine code. That too was a deliberate and sensible design choice. Swift can theoretically be a "systems programming" languages as in, "You can write operating systems with it.". C# is not suitable (as it is) for systems programming because C# programs generally do not interact with real hardware. They interact with virtual hardware.
In the vast majority of cases, I find use C# or Swift more or less equal with an aesthetic preference for C#. There are a few cases where Swift is suitable that C# is not.
Certain languages like Scala, some Lisp variants, and Erlang do a pretty good job of supporting concurrent and parallel programming. To my knowledge, no programming language fully relieves programmers of the burden of devising design not including race conditions, priority inversions, deadlocks, resource contention producing serialized execution, and countless other "gotchas".
It is hard enough to find a programmer who can translate a recursive algorithm into a loop or visa versa. It is hard enough to find programmers who can correctly code non-trivial algorithms of any sort. It is nearly impossible to find programmers who are able to correctly design let alone implement concurrent and parallel programs. It seems that very few human beings are able to conceptualize concurrent programming... but that may just be the case in my little corner of the universe.
Possibly copying libraries into each App bundle on iOS sidesteps one of Android's key security issues: Any exploitable flaw in any shared library potentially enables privilege escalation and destroys any utility or protection from Android's "every app has its own user id" paradigm of security. Android's sandboxes aren't... for that reason among others.
In contrast, iOS uses hardware virtualization capabilities of ARM processors to more truly sandbox apps. An app can gain root permissions and still not be able to mess around outside of its sandbox.
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university.
I confess to being perplexed by some Swift language design decisions. For example,
- Why does Swift have both a "var" keyword and a "let" keyword? One should be sufficient with the other being a default behavior. If a symbol is not declared "var" then just assume it is constant or visa versa. Furthermore, it may not be necessary to have either of the key words because (I think) in every case, the need for variability and mutation should be determinable by the compiler. Type is already being inferred by the compiler, and mutability could reasonably be considered an aspect of type.
- Why are Swift collection types like Data always mutable? What happened to the concept of immutable containers from Cocoa. [Yes, I know the "bridged" CF types are always mutable, but that was another bad decision IMHO.]
- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Having experienced frustration trying to port high performance graphics code from C/C++/Objective C to Swift, what's up with that? IMHO, Apple's sample code for using OpenGL/GLKit/Metal from Swift leaves the impression that Swift is unsuited to the style of "low level" programming needed/used by OpenGL/GLKit/Metal.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
- Finally, a trivial aesthetic critique: Why "var foo : typename" like Ada and Pascal (IIRC) instead of "var typename foo" like every language that inherited C style syntax? Is there an advantage to the Swift approach that I haven't seen, or was it just an aesthetic choice? Did the choice not produce some IMHO "silly" syntax for method declarations with named parameters?
CDC Cyber 6000 mainframes from roughly 1966 are still defending or at least warning the USA of missile attack.
AN/UYK-43 32-bit computers in United States Navy surface ships and submarine platforms starting from 1984 are still in widespread use.
AN/AYK-14 is a microprogrammed 16-bit airborne computer that was designed in 1976 by the Control Data Aerospace Division in Bloomington, Minnesota, and it is still in widespread use. https://en.wikipedia.org/wiki/...
IANAL, but ...
Many years ago, I worked in the USA for a Canadian Corp. The Corp. routinely bounced payroll checks, delayed sending payroll checks, or wrote payroll checks for less than the amount owed. Every time theses things happened, the Corp. claimed it was difficulties with exchange rates and transfers to the USA bank from which pay checks were drawn for USA employees.
I happened to work right across the street from a US Federal Building, so one day, several co-workers and myself walked over to inquire about any remedies that might be possible. We provided documentation to the helpful FBI agent who said bouncing payroll checks could fall under FBI jurisdiction. I also happened to mention the situation to my congressman who I knew socially as a long time family friend. A few weeks later, a Treasury Department person called and told us that nothing could be done to induce better behavior by a Canadian Corp. with respect to USA "employees", and furthermore, we weren't employees. We were considered independent contractors from the point of view of the Canadian Corp. Apparently, a shell USA Corp. employed us as regular employees with benefits and then contracted with the parent Corp. for our time. We received W-2 instead of 1099, but we were effectively 1099 contractors. The Treasury representative seemed to be telling us that we were not protected by USA labor laws or banking laws.
Treasury representative's statements didn't seem right, and we asked many questions to clarify our understanding. Several of us asked a local lawyer about the situation, and the answer we got was that any court action would have to start in Canada, and any settlement would be consumed by attorney fees. In other words, it wasn't worth it.
After a while of continued mistreatment, all of the USA employees except a few salesmen who worked on commission moved on to greener pastures. Such is life.
While I am sympathetic to your point of view, I still disagree.
Europe is not magical. There is a significant homelessness problem in France, for example. The French unemployment rate has been higher than the USA unemployment rate for every single year since 1948. (Yes, there are differences in the way unemployment is calculated, but France has had higher unemployment even when statistics are correlated).
Taking your assertions one by one:
Since 2008, The USA has offered 53 weeks of full unemployment benefits when a person looses a job. That is actually quite generous even by European standards.
USA healthcare is not the "worst healthcare system in the world" by any measure. In 2000, the USA was rated 38th. Belgium was rated 21. http://en.wikipedia.org/wiki/W.... The USA has presumably improved since 2000 with more people covered by insurance etc.
USA crime rates are at historic lows. http://en.wikipedia.org/wiki/C...
"very little maternity leave, no paternity leave, a recent push for no sick time or vacation time (they lump it all together) and we also have the shortest amount of vacation time compared to all the modern countries. our corporations work the workers to death and then dispose of them, IF you can even GET a job in the US (h1b, yes! born here, sorry.)" ... The USA is composed of 50 states. Not all labor laws are at the federal level. Absence of laws does not mean absence of benefits. For example, I have 6 weeks of paid paternity leave, 5 weeks of paid vacation, and numerous other employment benefits that are not enshrined in law.
Another Steve Jobs Interface Builder demo from 1990 http://www.youtube.com/watch?v...
You are mistaken. Interface Builder ships with the original NeXT cube in 1988.
Interface Builder has not changed in any fundamental ways since it debuted in 1988 with NeXTstep.
Unlike crappy Microsoft tools for the 90's, it is NOT a screen drawing tool. It is an object instantiation and configuration tool. You set the properties and relationships between live objects graphically. The objects are then archived (serialized) and later unarchived (deserialized) into your running iOS app.
Watch this from 1992 http://www.youtube.com/watch?v...
Steve Jobs demonstrates Interface Builder starting 23 minutes into the video. Also note that Windows 3.1 shipped in 1992.
Just for fun, here is NeXTstep from 1988 http://www.youtube.com/watch?v...
As a university instructor, I disagree. Many subjects are presentable in sensible sequence with knowledge neatly building on prior knowledge. The entire curriculum is created with prerequisite and co-requisite courses. Attempting a 400 level class without having mastered the 100 level course content is a recipe for pointless struggle.
Wikipedia is a great resource. It's articles are self contained and generally rely only on general knowledge. Wikipedia is not a good source for delving deep into subjects.
Having said that, I use wikipedia extensively. There is almost an entire Computer Science undergraduate curriculum in there. t still requires a guide. There are still sensible paths through the information. Here is a great example: http://en.wikipedia.org/wiki/Fibonacci_heap In the context of a Data Structures course, that is a great page. What benefit would that page provide to somebody who has never programmed and doesn't know what a data structure is? You can follow links to http://en.wikipedia.org/wiki/Heap_(data_structure) and then http://en.wikipedia.org/wiki/Data_structure and then you are directed to dead-tree textbooks that explain the topics in a sensible sequence.
The blind leading the blind. People who can't tell good answers from bad upvote bad answers. Try searching for some topic that you know a lot about and see what I mean.
In my opinion, Stack Overflow is most often the blind leading the blind. There will be 20 wrong answers, 10 answers to the wrong question, 2 suboptimal solutions, and if you are in luck there will be 1 good solution. Now, tell me which is which. It seems to me that the good answer is almost always buried under crap.
Stack overflow questions are often badly stated and difficult to find with more correct search terms. If you don't even know the search terms, the site is useless.
There have been a few times when stack overflow saved me a lot of time. There have been many times when stack overflow has been a pointless time sink.
As an author of three successful dead-tree programming books, I have a few observations.
1) I use the electronic versions myself because of easy search (better than an index) and copy/paste.
2) In book format, it's possible to lead a reader through topics in a sensible order that builds on prior topics.
3) The challenge with electronic/on-line documentation is that there is no expectation that readers will approach the material in any particular order. Readers type a search term into google and up pops a page or two of documentation. How can the author make safe assumptions about the definitions of terms and prior conceptual knowledge the reader will have? Adding links to the definitions of terms and links to chapter oriented conceptual documentation doesn't usually help because readers are impatient, and there is no good place in the middle of the documentation to start.
4) Many readers don't know the terms to type into google and therefore aren't lead to the relevant conceptual documentation even if they would have read it had they known.
Each USA citizen votes for one representative in the House of Representatives and two Senators. Each representative represents slightly less than 1,000,000 people. Given voting rates, a US Representative can get elected with as few as 200,000 supporters.
Residents in Wyoming, Vermont, North Dakota, South Dakota, Alaska, Delaware, and Montana can elect senators with as few as 200,000 supporters.
Small interest groups in large states like California and New York are unlikely to get any representation unless they happen to be concentrated within one or two congressional districts. Of course, that's the case in places like New York City and San Francisco where individual neighborhoods are almost sufficient to elect their own representatives to congress. Barney Frank of Massachusetts's 4th congressional district is a stirling example of a congressman with a vary narrow and special interest constituency. See also Charles Rangel who represents the Harlem portions of Manhattan.
In a proportional representation system, would Harlem have any representation? Would anyone in North Dakota be represented?
Instead of CITIES I should have said metropolitan areas. For example, Dallas TX contains 1,223,229 people and Fort Worth TX contains 758,738 people and the Dallas/Fort Worth metropolitan area contains 6,526,548 people
http://en.wikipedia.org/wiki/Dallas–Fort_Worth_metroplex
5% in the USA is between 15,000,000 and 20,000,000 people! You want to exclude people who can find 15,000,000 people who support their platform? Under your standard, the following 45 European states would have zero representation in a theoretical European political union: (FYI, The USA contains more that 20 CITIES with greater population than the nation, Norway)
Population density, area and population of countries and dependencies in Europe (2002-07-01 est.)
Country Population
Vatican City 900
Gibraltar (UK) 27,714
San Marino 27,730
Monaco 31,987
Liechtenstein 32,842
Faroe Islands (Denmark) 46,011
Guernsey (UK) 64,587
Andorra 68,403
Isle of Man (UK) 73,873
Jersey (UK) 89,775
Iceland 312,384
Malta 397,499
Luxembourg 512,000
Montenegro 626,000
Cyprus 803,147
Estonia 1,294,236
Slovenia 2,048,847
Macedonia 2,054,800
Latvia 2,366,515
Armenia 3,262,200
Albania 3,544,841
Lithuania 3,601,138
Bosnia and Herzegovina 3,964,388
Ireland 4,234,925
Moldova 4,434,547
Croatia 4,490,751
Norway 4,942,700
Georgia 4,960,951
Finland 5,302,545
Denmark 5,368,854
Slovakia 5,422,366
Switzerland 7,301,994
Serbia 7,498,001
Bulgaria 7,621,337
Austria 8,169,929
Sweden 9,076,744
Azerbaijan 9,493,600
Hungary 10,075,034
Belarus 10,335,382
Portugal 10,617,192
Czech Republic 10,674,947
Belgium 11,007,020
Greece 11,606,813
Cody claims teacher performance doesn't correlate with student achievement. I believe him. I don't agree with his assertions that schools are underfunded and couldn't educate poor students even with more funding.
There is even less correlation between cost per student and student performance than between teacher and student performance.http://www.npri.org/blog/does-more-spending-increase-student-performancehttp://www.reuters.com/article/2007/05/24/us-usa-education-spending-idUSN2438214220070524http://www.delcotimes.com/articles/2012/03/02/opinion/doc4f51a55f28207547363660.txthttp://www.ctpost.com/news/article/Little-correlation-found-between-per-pupil-823833.php
It is common for urban poor school districts to cost much more per student than the surrounding suburbs. Look at Kansas City or Washington DC for stark examples.
Seriously, spending more than $10,000 per year per student is a travesty. A class with 30 students should not cost $300,000 and the money is not going to the teacher!
I agree, end the war on drugs and greatly reduce parent incarceration rates.
I agree, find employment for everybody that raises them above poverty.
I agree, support family planning, pre-natal care, nutrition, and free pre-school or head start.
But, it isn't poverty exactly or school financial resources that predict student performance. It's culture. There is an urban poor culture that doesn't exist among poor rural students, and the outcomes differ. How can we change the culture that devalues education? How can we change the violence and street power culture? How can we convince people not to have children that are later neglected and abused?