Refactoring does not necessarily mean superior code.... it depends on the coder doing the coding and the refactoring as well as many other factors such as the history of the source itself.
Refactoring is something you should think of whenever you revisit your code to make changes as you are developing. Can I do this better? I don't know many programmers that write something once and it is perfect. Sure you can come back to it and make some changes that are necessary and do no thinking about anything other than just hacking in a change to make it work.... but that leads to worse and worse code, longer development cycles to deal with the repercussions of aging unmaintainable code etc. People have to start thinking of their source code as a depreciable asset not as an investment. A good percentage (depending on technology and industry the software is written for) of the cost of developing the system should be written off each year, and you require a certain amount of additional investment just in upkeep.
Of course to be able to properly refactor, your system cannot be a fragile system (lacks unit tests). If it is then refactoring may cause more problems than it solves. To properly refactor, you really need to have taken the time to write a full slate of unit tests as you were developing the system. This allows developers to be able to focus on the changes and be reasonable assured that if the tests say everything works, that the changes have not caused problems elsewhere in the system. If someone tries to measure refactoring as separate from all of the other good practices - you won't necessarily be able to measure much difference....
If he were returning home (seriously) and not just messing around, all he has to do is come to some agreement on the charges and venue of the trial before arriving back in the US. That is all that is available to him, and the only guarantees that he get. There are plenty of high-power lawyers from prestigious law firms that would handle his case pro-bono because of the exposure, the courts are the courts and they are not going to make changes to them just for him..... the only issue is what the charges would be.... which would be very serious no matter what.
"Cfront was a compiler that compiled early C++ to C"
"A preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers."
It is a preprocessor. It might be an advanced one, but it is still a preprocessor.
What???? As far as I was aware... Swift is language which depends on LLVM (which is not a virtual machine as in jvm). This is the same as Objective-C which is now compiled using Clang (many many years since gcc was replaced with clang). LLVM is just a pseudo assembly language which is compiled down to machine code. It is not a virtual machine. It is compiled down just like Objective-C. When using the REPL or as with Objective-C when it is being run inside xcode I believe it is in jit form, but this is no different than Objective-C.
You have your history mixed up. They are different directions from the same root language, but Objective C is not a "superset" of C++. C++ (preprocessor for C) started as C with Classes. Objective C was originally a preprocessor for C which tried to patch in Smalltalk ideas ontop of C. One is not a superset of the other... but they both have the same C roots. It is not much different than having all the different languages compile down onto the jvm, they are not supersets or subsets of each other - they just use the jvm. It provides a transportable platform onto which to compile/run the "compiled code". Creating preprocessors on top of C gave similar advantages to both of these "new languages".
Yes, Apple has millions of lines of code and yes Apple is not going to re-write all that code in the next couple of years.... but there is no denying that Swift is more productive than Objective-C easier to maintain. Apple is not going to say, Objective-C is dead but it is now very much a "legacy language" where you maintain the code but new stuff will be written in Swift. Swift though is a new language and it still has maturing to do. Being that Apple is both the user and creator of the language, most if not all that Swift may not be "able to handle" right now will eventually be added. If there is something that for performance reasons is not there yet - it can still be written in Objective-C and used in a Swift project.
If you are developing for the Mac OS X or iOS platforms - you would chose Swift from this point going forward. You would maintain your legacy Objective-C code until the point where it makes sense both business and risk-wise to rewrite it as part of some upgrade. As far as Linux, Apple has made no commitment (yet) on when/if they will open-source / multi-platform it so it is moot for the purposes of the OP. To be quite honest the original requirements for the OP seems to be centered around that he missed out on some fad/direction and now is asking what he should pick-up but only wants to use "classic" languages, but without any real clear reason on what his "needs" are. This is backwards. Languages are tools, you don't pick a tool first. It would be akin to picking a hammer then turning and saying, good... got that out of the way.... now I think I will fix my watch.
Also some people have already had noticeable lag on the screen for the update of the mouse position when using 4K monitors at 30hz (caused by double-buffering in combination with low refresh rates) - now increase the latency and that would cause people to complain that it is unusable.
If compression/decompression were such a cheap thing to make standard, why is there not compression/decompression in every networks switch and network card? My networking using the standard low speed 1GBit for the local network is rather slow. For that matter how about the sata controller and hard drives? Or why not compress between the CPU and PCIe bus itself? If compression were cheap then all those could use it.
I have a rather old mac pro, and the mplayerx I believe does not use the GPU and probably is not implemented to use multiple threads, and it cannot play 1080p without a video/sound sync problem (the internal player works fine - not sure if it is more efficient or uses the GPUs I have installed).
So instead of a little bit more expensive cable, you want the monitor to consume more energy and have to basically put a fairly powerful CPU/GPU inside the monitor. Both of those solutions increase the base cost of the monitor way more than the more expensive cable, and increase the ongoing power consumption costs of the monitor. That is really a better solution?
For a select few that want to put their computer 20m away then just use a display with a thunderbolt port and use an optical cable (yes it is a bit more cost, but you are going to pay for it one way or another and it is best not to bog down 99% of the people that have their computer at the desk near the computer.
The first monitors out that were higher bandwidth requirements supported multiple cables, but consumers rejected that and preferred the displayport single cable solution. The standards organizations are just trying to make sure they can support what consumers generally want.
I did not hear much discussion about how HD on a 13/15 inch laptop was overkill when it became standard more than a decade ago.
I use a 40 HD monitor as my main display, but I would definitely notice the difference the difference in having a 4K monitor (when I run the iPhone simulator - the resolution is high enough that it will not fit on the screen). A 40 inch screen is 600+% larger than that 15 inch laptop. So to keep the real resolution (pixel size) the same for a 40" monitor you would require 5K.
In addition I use multiple monitors (4), and displayport monitors have the ability to be chained on the same connection -- which would allow me to get a laptop (later this year when Skylake is out) and have 3 x 40" monitors attached using this standard.
Ever heard of VESA mounts? There are lots of standards that are defined by VESA when it comes to intraoperative of Video electronics. All my monitors can be mounted using a VESA standard mount.
4K and 8K are not as much of a benefit to TV as it is to monitors. When pictures are in motion, the higher your perception of image detail is not as noticeable by ones eyes. As a monitor for a work environment where images are not motion pictures, 4K and 8K are very easily noticeable. It will give the image more depth and you will be able to use the extra workspace on a 40+ monitor. If you shrink down the image it is more recognizable than if you display the same image in the same size on a HD monitor. You have both peripheral vision for dashboard use, and a neck to move back and forth to different documents/ images / text displayed on a larger workspace -- but when you are looking at something you are focusing on a small area on the monitor. If the extra resolution were not usable to provide extra depth to your pictures, cameras would not be pushing up to 50Mpixel resolution.
People have been focusing on 8K monitor actually (7680 x 4320 at 60hz) as if this cable is hard wired to only support a specific config. It supports multiple MST configurations, which means the ability to configure panels into one screen - using multi streams, or multiple monitors with multiple streams.
This means it has more than enough support to drive 3 x 4K monitors using this cable, which I personally could easily put to work (I have 4 monitors of various HD resolutions and sizes). I would like having 3 x 40 inch 4K monitors on my desktop. It would be great if I could use a laptop and have the same setup (though there is a limitation on that due to processor restrictions right now - though Skylake looks like it will have enough power to do it).
Now if they were able to do a cockpit type monitor that curves around as one monitor with 23040 x 4320 @ 60 hz that would be great to (but hard to move around:o ).
I have seen some people complaining that 7680 x 4320 is not 8K (8000 x 4000) but if it has the bandwidth for the first, it has the bandwidth for the second configuration (less pixels). They seem to fail that the cable is not for a specific resolution but to support higher bandwidth monitors going forward.
Dam it got rid of the new lines. (I will try typing).
Service Menu Code For Samsung TV: There are many codes available for accessing service menu in various Samsung TV models.
You can try following codes one by one until you get access to service menu:
Mute + 1 + 8 + 2 + Power
Display/Info + Menu + Mute + Power
Display/Info + P.STD + Mute + Power
P.STD + Help + Sleep + Power
P.STD + Menu + Sleep + Power
Sleep + P.STD + Mute + Power
You can press Channel Up/Down buttons to navigate between available options. To change their values, press Volume Up/Down buttons.
Be careful about certain options - you can change things that could do nasty things to your TV.
It is usually different for different model groups. For samsung it is probably one of the following:
"Service Menu Code For Samsung TV:
There are many codes available for accessing service menu in various Samsung TV models. You can try following codes one by one until you get access to service menu:
First power off your TV using the remote, then press following buttons quickly on the remote:
Mute + 1 + 8 + 2 + Power
Display/Info + Menu + Mute + Power
Display/Info + P.STD + Mute + Power
P.STD + Help + Sleep + Power
P.STD + Menu + Sleep + Power
Sleep + P.STD + Mute + Power
You can press Channel Up/Down buttons to navigate between available options. To change their values, press Volume Up/Down buttons."
For each "SMART" TV they typically have the same model with none of the "SMART" features for cheaper. I don't need or want any of the smart features, so I never buy Samsung's SMART TVs but I have bought the non-SMART equivalent. Many people seem to think ahh a "SMART" brand TV for more money and don't realize that they are paying for "SMART" features that they never had plans to use. SMART just sounds like a better TV.....
If you feel you "need" to use GOTO to make things easier, then you should take a second look at your code and invest a little time figuring out how best to reorganize your code. GOTO gives an easy out for lazy programmers who don't want to invest the time to give a little thought on how they programmed themselves into said box. In my 25 years of software development, I have never found a situation where the use of GOTO would produce better code than putting a little thought into your code.
I find the "communities" better on Google+, but all my friends post there normal stuff on facebook. I find the technical forums (the few that I am a member of) are asking a newbie question (nothing really interesting) like how do I print a number..... when it is facebook, but much more interesting communitie tech posts on google+.
I have to disagree with your analysis. Phone and tablet is more of a consumption device or a multi-media menu system, but it is not going to displace the computer - just give more options (computer is more of a work instrument - i.e. creation rather than consumption). The reduction of prices since I started using personal computers (my first one bought by my father was an IBM PC DOS 1.1 machine for $6,400 which included a 20% discount (2 floppy drive, electrohome cga monitor and a crappy dot matrix). Now with the lower prices, I have an iphone, tablet, and personal computer all for a fraction of the price. Each serves a purpose. I don't really want a device to try to be all things to all people and do nothing great. I do want my devices to work together seamlessly (cloud is the first step). I find a tablet works great for reading, some browsing and watching videos and maybe menu entry -- but it would kill me to have to sit in front of one trying work with it. I sit far enough away from the computer that having a touch interface is a hassle. You can make an operating system that is the same for all devices (if they are powerful enough) but the user interfaces should not all be the same since you don't use them all the same way. That is why Microsoft has had such problems with adoption with Windows 8. If I want lots of functionality and a large screen - I will use my computer -- not a tablet.
$1.7 Billion Dollar loss.
Surface (even subsidized) is still not selling well, they have managed to get a few countries to stock-out on introduction by keeping the supply very low. Probably a good thing because if they supplied more the loss would be greater:o
That is what I call a failure.
Expect Microsoft to exit the "Surface" hardware market soon.
Cloning something a failure like Surface seems silly, if you're going to clone something clone something that is a success in the marketplace.
If I want a table, I will buy an iPad - it works nicely as a consumption device.
If I want to do a little more work, I will buy a Macbook Air. I don't really need a touch screen, in fact I find it a little annoying having fingerprints all over the screen. I also tend to sit back when using the computer and having to lean forward to touch the screen is actually more effort than just using my mouse. Call me old fashioned.... but I don't find it an improvement in usability when it comes to working on a computer. It works nicely when you are using an iPad and reading a book or watching a video.... Two different user interfaces in one machine is not useful to most.
Refactoring does not necessarily mean superior code.... it depends on the coder doing the coding and the refactoring as well as many other factors such as the history of the source itself.
Refactoring is something you should think of whenever you revisit your code to make changes as you are developing. Can I do this better? I don't know many programmers that write something once and it is perfect. Sure you can come back to it and make some changes that are necessary and do no thinking about anything other than just hacking in a change to make it work.... but that leads to worse and worse code, longer development cycles to deal with the repercussions of aging unmaintainable code etc. People have to start thinking of their source code as a depreciable asset not as an investment. A good percentage (depending on technology and industry the software is written for) of the cost of developing the system should be written off each year, and you require a certain amount of additional investment just in upkeep.
Of course to be able to properly refactor, your system cannot be a fragile system (lacks unit tests). If it is then refactoring may cause more problems than it solves. To properly refactor, you really need to have taken the time to write a full slate of unit tests as you were developing the system. This allows developers to be able to focus on the changes and be reasonable assured that if the tests say everything works, that the changes have not caused problems elsewhere in the system. If someone tries to measure refactoring as separate from all of the other good practices - you won't necessarily be able to measure much difference....
If he were returning home (seriously) and not just messing around, all he has to do is come to some agreement on the charges and venue of the trial before arriving back in the US. That is all that is available to him, and the only guarantees that he get. There are plenty of high-power lawyers from prestigious law firms that would handle his case pro-bono because of the exposure, the courts are the courts and they are not going to make changes to them just for him..... the only issue is what the charges would be.... which would be very serious no matter what.
"Cfront was a compiler that compiled early C++ to C"
"A preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers."
It is a preprocessor. It might be an advanced one, but it is still a preprocessor.
What???? As far as I was aware... Swift is language which depends on LLVM (which is not a virtual machine as in jvm). This is the same as Objective-C which is now compiled using Clang (many many years since gcc was replaced with clang). LLVM is just a pseudo assembly language which is compiled down to machine code. It is not a virtual machine. It is compiled down just like Objective-C. When using the REPL or as with Objective-C when it is being run inside xcode I believe it is in jit form, but this is no different than Objective-C.
You have your history mixed up. They are different directions from the same root language, but Objective C is not a "superset" of C++. C++ (preprocessor for C) started as C with Classes. Objective C was originally a preprocessor for C which tried to patch in Smalltalk ideas ontop of C. One is not a superset of the other... but they both have the same C roots. It is not much different than having all the different languages compile down onto the jvm, they are not supersets or subsets of each other - they just use the jvm. It provides a transportable platform onto which to compile/run the "compiled code". Creating preprocessors on top of C gave similar advantages to both of these "new languages".
Yes, Apple has millions of lines of code and yes Apple is not going to re-write all that code in the next couple of years.... but there is no denying that Swift is more productive than Objective-C easier to maintain. Apple is not going to say, Objective-C is dead but it is now very much a "legacy language" where you maintain the code but new stuff will be written in Swift. Swift though is a new language and it still has maturing to do. Being that Apple is both the user and creator of the language, most if not all that Swift may not be "able to handle" right now will eventually be added. If there is something that for performance reasons is not there yet - it can still be written in Objective-C and used in a Swift project.
If you are developing for the Mac OS X or iOS platforms - you would chose Swift from this point going forward. You would maintain your legacy Objective-C code until the point where it makes sense both business and risk-wise to rewrite it as part of some upgrade. As far as Linux, Apple has made no commitment (yet) on when/if they will open-source / multi-platform it so it is moot for the purposes of the OP. To be quite honest the original requirements for the OP seems to be centered around that he missed out on some fad/direction and now is asking what he should pick-up but only wants to use "classic" languages, but without any real clear reason on what his "needs" are. This is backwards. Languages are tools, you don't pick a tool first. It would be akin to picking a hammer then turning and saying, good... got that out of the way.... now I think I will fix my watch.
Also some people have already had noticeable lag on the screen for the update of the mouse position when using 4K monitors at 30hz (caused by double-buffering in combination with low refresh rates) - now increase the latency and that would cause people to complain that it is unusable.
If compression/decompression were such a cheap thing to make standard, why is there not compression/decompression in every networks switch and network card? My networking using the standard low speed 1GBit for the local network is rather slow. For that matter how about the sata controller and hard drives? Or why not compress between the CPU and PCIe bus itself? If compression were cheap then all those could use it.
I have a rather old mac pro, and the mplayerx I believe does not use the GPU and probably is not implemented to use multiple threads, and it cannot play 1080p without a video/sound sync problem (the internal player works fine - not sure if it is more efficient or uses the GPUs I have installed).
So instead of a little bit more expensive cable, you want the monitor to consume more energy and have to basically put a fairly powerful CPU/GPU inside the monitor. Both of those solutions increase the base cost of the monitor way more than the more expensive cable, and increase the ongoing power consumption costs of the monitor. That is really a better solution? For a select few that want to put their computer 20m away then just use a display with a thunderbolt port and use an optical cable (yes it is a bit more cost, but you are going to pay for it one way or another and it is best not to bog down 99% of the people that have their computer at the desk near the computer.
The first monitors out that were higher bandwidth requirements supported multiple cables, but consumers rejected that and preferred the displayport single cable solution. The standards organizations are just trying to make sure they can support what consumers generally want.
I did not hear much discussion about how HD on a 13/15 inch laptop was overkill when it became standard more than a decade ago.
I use a 40 HD monitor as my main display, but I would definitely notice the difference the difference in having a 4K monitor (when I run the iPhone simulator - the resolution is high enough that it will not fit on the screen). A 40 inch screen is 600+% larger than that 15 inch laptop. So to keep the real resolution (pixel size) the same for a 40" monitor you would require 5K.
In addition I use multiple monitors (4), and displayport monitors have the ability to be chained on the same connection -- which would allow me to get a laptop (later this year when Skylake is out) and have 3 x 40" monitors attached using this standard.
Ever heard of VESA mounts? There are lots of standards that are defined by VESA when it comes to intraoperative of Video electronics. All my monitors can be mounted using a VESA standard mount.
4K and 8K are not as much of a benefit to TV as it is to monitors. When pictures are in motion, the higher your perception of image detail is not as noticeable by ones eyes. As a monitor for a work environment where images are not motion pictures, 4K and 8K are very easily noticeable. It will give the image more depth and you will be able to use the extra workspace on a 40+ monitor. If you shrink down the image it is more recognizable than if you display the same image in the same size on a HD monitor. You have both peripheral vision for dashboard use, and a neck to move back and forth to different documents/ images / text displayed on a larger workspace -- but when you are looking at something you are focusing on a small area on the monitor. If the extra resolution were not usable to provide extra depth to your pictures, cameras would not be pushing up to 50Mpixel resolution.
The revisions are universal across both dedicated DisplayPort connectors, as well as embedded Thunderbolt.
People have been focusing on 8K monitor actually (7680 x 4320 at 60hz) as if this cable is hard wired to only support a specific config. It supports multiple MST configurations, which means the ability to configure panels into one screen - using multi streams, or multiple monitors with multiple streams. This means it has more than enough support to drive 3 x 4K monitors using this cable, which I personally could easily put to work (I have 4 monitors of various HD resolutions and sizes). I would like having 3 x 40 inch 4K monitors on my desktop. It would be great if I could use a laptop and have the same setup (though there is a limitation on that due to processor restrictions right now - though Skylake looks like it will have enough power to do it). Now if they were able to do a cockpit type monitor that curves around as one monitor with 23040 x 4320 @ 60 hz that would be great to (but hard to move around :o ).
I have seen some people complaining that 7680 x 4320 is not 8K (8000 x 4000) but if it has the bandwidth for the first, it has the bandwidth for the second configuration (less pixels). They seem to fail that the cable is not for a specific resolution but to support higher bandwidth monitors going forward.
Dam it got rid of the new lines. (I will try typing). Service Menu Code For Samsung TV: There are many codes available for accessing service menu in various Samsung TV models.
You can try following codes one by one until you get access to service menu:
Mute + 1 + 8 + 2 + Power
Display/Info + Menu + Mute + Power
Display/Info + P.STD + Mute + Power
P.STD + Help + Sleep + Power
P.STD + Menu + Sleep + Power
Sleep + P.STD + Mute + Power
You can press Channel Up/Down buttons to navigate between available options. To change their values, press Volume Up/Down buttons.
Be careful about certain options - you can change things that could do nasty things to your TV.
It is usually different for different model groups. For samsung it is probably one of the following: "Service Menu Code For Samsung TV: There are many codes available for accessing service menu in various Samsung TV models. You can try following codes one by one until you get access to service menu: First power off your TV using the remote, then press following buttons quickly on the remote: Mute + 1 + 8 + 2 + Power Display/Info + Menu + Mute + Power Display/Info + P.STD + Mute + Power P.STD + Help + Sleep + Power P.STD + Menu + Sleep + Power Sleep + P.STD + Mute + Power You can press Channel Up/Down buttons to navigate between available options. To change their values, press Volume Up/Down buttons."
In addition there are often hidden menus that you can look up to turn off features in TVs. Things like switching it into "Hotel" mode.
For each "SMART" TV they typically have the same model with none of the "SMART" features for cheaper. I don't need or want any of the smart features, so I never buy Samsung's SMART TVs but I have bought the non-SMART equivalent. Many people seem to think ahh a "SMART" brand TV for more money and don't realize that they are paying for "SMART" features that they never had plans to use. SMART just sounds like a better TV.....
If you feel you "need" to use GOTO to make things easier, then you should take a second look at your code and invest a little time figuring out how best to reorganize your code. GOTO gives an easy out for lazy programmers who don't want to invest the time to give a little thought on how they programmed themselves into said box. In my 25 years of software development, I have never found a situation where the use of GOTO would produce better code than putting a little thought into your code.
Not to mention the small claims court you have to file with may be a long distance away -- in another jurisdiction.
I find the "communities" better on Google+, but all my friends post there normal stuff on facebook. I find the technical forums (the few that I am a member of) are asking a newbie question (nothing really interesting) like how do I print a number..... when it is facebook, but much more interesting communitie tech posts on google+.
I have to disagree with your analysis. Phone and tablet is more of a consumption device or a multi-media menu system, but it is not going to displace the computer - just give more options (computer is more of a work instrument - i.e. creation rather than consumption). The reduction of prices since I started using personal computers (my first one bought by my father was an IBM PC DOS 1.1 machine for $6,400 which included a 20% discount (2 floppy drive, electrohome cga monitor and a crappy dot matrix). Now with the lower prices, I have an iphone, tablet, and personal computer all for a fraction of the price. Each serves a purpose. I don't really want a device to try to be all things to all people and do nothing great. I do want my devices to work together seamlessly (cloud is the first step). I find a tablet works great for reading, some browsing and watching videos and maybe menu entry -- but it would kill me to have to sit in front of one trying work with it. I sit far enough away from the computer that having a touch interface is a hassle. You can make an operating system that is the same for all devices (if they are powerful enough) but the user interfaces should not all be the same since you don't use them all the same way. That is why Microsoft has had such problems with adoption with Windows 8. If I want lots of functionality and a large screen - I will use my computer -- not a tablet.
$1.7 Billion Dollar loss. Surface (even subsidized) is still not selling well, they have managed to get a few countries to stock-out on introduction by keeping the supply very low. Probably a good thing because if they supplied more the loss would be greater :o
That is what I call a failure.
Expect Microsoft to exit the "Surface" hardware market soon.
Cloning something a failure like Surface seems silly, if you're going to clone something clone something that is a success in the marketplace. If I want a table, I will buy an iPad - it works nicely as a consumption device. If I want to do a little more work, I will buy a Macbook Air. I don't really need a touch screen, in fact I find it a little annoying having fingerprints all over the screen. I also tend to sit back when using the computer and having to lean forward to touch the screen is actually more effort than just using my mouse. Call me old fashioned.... but I don't find it an improvement in usability when it comes to working on a computer. It works nicely when you are using an iPad and reading a book or watching a video.... Two different user interfaces in one machine is not useful to most.