Posts Tagged ‘Internet’
We see this “Is Java out of business?” question pop up year after year. They say that Java is the least feature-rich language of the popular languages on the JVM and the slowest to move on new features in the last decade. There are also people who believe that because so many new JVM languages are being invented is proof that the Java language is lacking and that Java is no longer meeting the needs of many developers. And yet, by all external markers, Java is alive, well, and growing.
Here are several proofs for it:
1. TIOBE ranked Java as its top language of 2015 currently shows it enjoying 5% growth in use since 2014, more than any other programming language.
2. RedMonk has recently published the latest edition of its bi-annual list of the top programming languages. Compiled with the help of data obtained from GitHub and StackOverflow, this list tells us about the usage and discussion of a language on the web. Just like the previous years Java is among the top of the programming languages.
3. Further, the PYPL Index, which ranks languages based on how often language tutorials are searched on Google, shows Java clearly out in front with 23.9% of the total search volume.
Since Java first appeared it has gained enormous popularity. Its rapid ascension and wide acceptance can be traced to its design and programming features, particularly in its promise that you can write a program once, and run it anywhere. Java was chosen as the programming language for network computers (NC) and has been perceived as a universal front end for the enterprise database. As stated in Java language white paper by Sun Microsystems: “Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, multithreaded, and dynamic.”
So here are the most common and significant advantages of Java that helped it to take its high position in a quite competitive environment of programming languages:
- Java is easy to learn.
Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages.
- Java is platform-independent.
One of the most significant advantages of Java is its ability to move easily from one computer system to another. The ability to run the same program on many different systems is crucial to World Wide Web software, and Java succeeds at this by being platform-independent at both the source and binary levels.
- Java is secure.
Java considers security as part of its design. The Java language, compiler, interpreter, and runtime environment were each developed with security in mind.
- Java is robust.
Robust means reliability. Java puts a lot of emphasis on early checking for possible errors, as Java compilers are able to detect many problems that would first show up during execution time in other languages.
- Java is multithreaded.
Multithreaded is the capability for a program to perform several tasks simultaneously within a program. In Java, multithreaded programming has been smoothly integrated into it, while in other languages, operating system-specific procedures have to be called in order to enable multithreading.
Nonetheless things changed since the time when Java was created. In the recent years, many important languages have appeared and left an impact on the technology world. Due to their simplicity and user-friendliness, they have managed to surpass the more established languages. So we tried to make a list of reasons why Java is going to stay on the grind in the nearest future:
1. Java is time-proved.
You generally need a strong reason to switch from a language you’re currently using: it requires time to practice and learn new languages, and you have to be confident that the language you’re considering switching to will be supported in the long term. Nobody wants to build software in a language that will be obsolete in five years’ time.
2. JVM and the Java Ecosystem.
The Java Virtual Machine, or JVM. compiles programs into bytecode, which is then interpreted and run by the JVM. Because the JVM sits above your specific hardware and OS, it allows Java to be run on anything, a Windows machine, a Mac, or an obscure some flavor of Linux.
The big advantage granted by the JVM is in this increased compatibility and the stability it affords. Because your application runs in the VM instead of directly on your hardware, you can program said application once and trust that it is executable on every device with a Java VM implementation. This principle is the basis for Java’s core messaging: “Write once, run everywhere.” And it makes Java applications very resilient to underlying changes in the environment.
3. Java and the Internet of Things.
“I really think Java’s future is in IoT. I’d like to see Oracle and partners focused on a complete end-to-end storage solution for Java, from devices through gateways to enterprise back-ends. Building that story and making a success of it will help cement the next 20 years for Java. Not only is that a massive opportunity for the industry, but also one I think Java can do quite well,” said Mike Milinkovich, Executive Director of the Eclipse Foundation.
Oracle agrees. Per VP of Development Georges Saab, “Java is an excellent tech for IoT. Many of the challenges in IoT are many of the challenges of desktop and client Java helped address in the 1990s. You have many different hardware environments out there. You want to have your developers look at any part of the system, understand it and move on. Java is one of the few technologies out there that lets you do that.”
Thus, Java might have its detractors, and some of their arguments might even be reasonable. Nonetheless Java has evolved a lot since its inception, holds the lead in many areas of software development and has more prospects for the future. So, in our opinion, its survivability is not in doubt.
And what do you think? Is Java going to become one of the dead languages? Or it has all chances to survive? Feel free to share your thoughts in comments below!
Business Development Manager
Professional Software Development
Introducing ASP.NET Core:
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
The framework is a complete rewrite that unites the previously separate ASP.NET MVC and Web API into a single programming model.
Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC.
ASP.NET Platform exists for more than 15 years. In addition, at the time of System.Web creation it contained a large amount of code to support backward compatibility with classic ASP. During this time, the platform has accumulated a sufficient amount of code that is simply no longer needed and is deprecated. Microsoft faced a difficult choice: to abandon backward compatibility, or to announce a new platform. They chose the second option. At the same time, they would have to abandon the existing runtime. Microsoft has always been a company focused on creation and launch on Windows. ASP.NET was no exception. Now the situation has changed: Azure and Linux occupied an important place in the company’s strategy.
The ASP.NET Core is poised to replace ASP.NET in its current form. So should you switch to ASP.NET Core now?
ASP.NET Core is not just a new version. It is a completely new platform, the change of epochs. Switching to ASP.NET Core can bring many benefits: compact code, better performance and scalability. But what price will be paid in return, how much code will have to be rewritten?
.NET Core contains many components, which we are used to deal with. Forget System.Web, Web Forms, Transaction Scope, WPF, Win Forms. They no longer exist. For simple ASP.NET MVC-applications changes will be minor and the migration will be simple. For more complex applications, which use a great number of .NET Framework classes and ASP.NET pipeline situation is more complicated. Something may work and something may not. Some part of the code will have to be rewritten from scratch. Additional problems may be caused by WebApi, because ASP.NET MVC subsystems and WebAPI are now combined. Many libraries and nuget-packages are not ready yet. So, some applications simply will not have a chance to migrate until new versions of the libraries appear.
I think we are waiting for the situation similar to the transition from Web Forms to ASP.NET MVC. ASP.NET Framework will be supported for a long time. First, only a small amount of applications will be developed on ASP.NET Core. Their number will increase, but sooner or later everyone will want to move to ASP.NET Core. We still have many applications running on the Web Forms. However, no one comes to mind to develop a new application on the Web Forms now, everybody chooses MVC. Soon the same happens to ASP.NET Framework, and ASP.NET Core. ASP.NET Core offers more opportunities to meet modern design standards.
The following characteristics best define .NET Core:
- Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
- Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes (Operating Systems). The supported OSes, CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.Command-line tools: All product scenarios can be exercised at the command-line.
- Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
- Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
- Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support.
- As for the “cons” one of the biggest issues are gaps in the documentation. Fortunately most of the things for creating and API are covered, but when you’re building an MVC app, you might have problems.
- Next problem – changes. Even if you find a solution to your problem, it could have been written for a previous version and might not work in the current one. Thanks to open source nature of it, there is also support available on github. But you get same problems there (apart from searching).
- Another thing is lack of support in the tooling. You can forget about NCrunch or R# Test Runner. Both companies say they will get to it when it gets more stable.
- ASP.NET Core is still too raw. Many basic things, such as the Data Access, is not designed for 100%. There is no guarantee that the code you are using now will work in the release version.
- It’s modular. You can add and remove features as you need them by managing NuGet packages.
- It’s also much easier and straightforward to set up.
- WebApi is now part of the MVC, so you can have class UserController, which will return a view, but also provide a JSON API.
- It’s cross-platform.
- It’s open-source.
ASP.NET Core is the work on the bugs of the classic ASP.NET MVC, the ability to start with a clean slate. In addition, Microsoft also aims to become as popular as Ruby and NodeJS among younger developers.
NodeJS and ASP.NET have always been rivals: both – a platform for backend. But in fact, between them, of course, there was no struggle. The new generation of developers, the so-called hipster developers, prefer Ruby and Node. The adult generation, people from the corporate environment, are on the side of .NET and Java. .NET Core is clearly trying to be more youthful, fashionable and popular. So, in future we can expect the .NET Core and NodeJS to be in opposition.
In its advertising campaign, Microsoft is betting on unusual positions for it: high performance, scalability, cross-platform. Do you think that ASP.NET “crawls” on the territory of NodeJS? Please feel free to share your thoughts with us.
Thank you in advance!
Business Development Manager
Professional Software Development
According to Statcounter numbers and charts, Google Chrome should be the number 1 browser in the world as soon as this year. Let’s see what LI members think about this prediction.
«No. Good old IE has plenty of mileage left yet, and because it is a “known platform” will continue to be a standard in much of the business world for at least a few years yet.»
Project & Change expert
«According to statistics available, it is unlikely that IE will be knocked off the top spot in 2012, even though Chrome has seen a meteoric rise in usage in 2011.
In Jan 2011, IE accounted for 46% of all Internet browsing, by Dec this had dropped to 38.65%.
Meanwhile, Chrome rose from 15.68% in Jan to 27.27% by Dec, trouncing Firefox into third place with its market share changing from 30.68% in Jan to 25.27% in Dec.
Other browsers, including Safari and Opera remain minnows in comparison. Mobile browsers (which are not included in the figures above) doubled from 4.3% in January to 8.03% in December.
However, it should be acknowledged that these statistics are far from an accurate representation of the true market share of the various browsers, as the statistics are usually taken from a small range of web site visitors and often visitors’ browsers cannot be sniffed by the methods in use. Remember that there are a huge number of corporate users of IE around the world that will continue to use IE for the foreseeable future.»
Experienced Graphic and Web Design Professional
«Yes. Although I prefer Firefox, I do believe that Chrome will make it to the top by mid-2012. IE is terrible and makes web design tougher because it does not conform to new and updated HTML or CSS.»
Owner of Fresh View Concepts
«While Chrome is an outstanding browser, it will not be #1 in 2012 due to the simple fact that the vast majority of Internet users, contrary to conventional wisdom, are not particularly savvy with regards to the Internet and technology. Most users are people who don’t care about browser wars. They simply want to be able to check their Facebook accounts and e-mail and Twitter and… Well, you get the point. Until Chrome gets must-have features that even your mother or grandmother are asking about, Chrome will remain #2 at best.»
Desktop Engineer Team Lead at Nelnet, Inc.
«Not sure what it will look like in 2012. I will say I haven’t used IE in over a year or more. Chrome get’s on my nerves sometimes; but I have tried them all and found Chrome to be the lightest without sacrificing great options. »
Nugget Training Advisor
Google Chrome only launched at the end of 2008, but with close integration and added features for people using Google’s ubiquitous suite of web tools such as Gmail, Google Docs and the like, the exciting benefits that will surely come as a result of Google+, and Google throwing oodles of cash at promoting the product, Microsoft and Mozilla must be seriously concerned. Agree?
Professional Software Development
SplashData have released their annual list of the worst possible Internet passwords and the usual suspects are all there, with ‘password’ and ‘123456’ on top.
The rise in websites requiring users to have both letters and numbers in their passwords has had a significant effect on the list as you can see below.
The list, which was compiled using millions of stolen passwords that were then posted online by hackers, is in order of how common they are:
‘ReplaceMe’, ‘ChangeMe’ and ‘Hello’ are all noticeable absentees in my opinion. But before you try, they aren’t actually my passwords for anything.
I strongly recommend that if your current password appears on this list you change it now. Something like, ‘ICantBelieveIWasSuchAFool2’ (never forget to add a number) may be more effective🙂
The value of a lean start-up approach is that you are not heavily investing upfront in unnecessary/unneeded expenses. Your budget/funds should be allocated toward developing a prototype/product to test against a small/large group and see whether or not your target audience love it or hate it. This will give you a more accurate idea of its potential value, cost to improve the product/market, and maybe a couple of example customers.
The Lean Startup has evolved into a movement that is having a significant impact on how companies are built, funded and scaled. As with any new idea, with popularity comes misinterpretation:
Tale 1: Lean means cheap. Lean startups try to spend as little money as possible
The reality is the Lean Startup method is not about cost, it is about speed. Lean startups waste less money, because they use a disciplined approach to testing new products and ideas. Lean, when used in the context of lean startup, refers to a process of building companies and products based on lean manufacturing principles, but applied to innovation. That process involves rapid hypothesis testing, learning about customers, and a disciplined approach to product development.
Tale 2: The Lean Startup methodology is only for Web 2.0, Internet and consumer software companies
Actually, the Lean Startup methodology applies to all companies that face uncertainty about what customers will want. This is true regardless of industry or even scale of company: many established companies depend on their ability to create disruptive innovation. Those general managers are entrepreneurs, too. And they can benefit from increased speed and discipline.
Tale 3: Lean Startups are bootstrapped startups
There’s nothing wrong with raising venture capital. Many lean startups are ambitious and are able to deploy large amounts of capital. What differentiates them is their disciplined approach to determining when to spend money: after the fundamental elements of the business model have been empirically validated. Because lean startups focus on validating their riskiest assumptions first, they sometimes charge money for their product from day one – but not always.
Tale 4: Lean Startups are very small companies
This focus on size also obscures another truth: that many entrepreneurs live inside of much larger organizations. The proper definition of a startup is: a human institution creating a new product or service under conditions of extreme uncertainty. In other words, any organization striving to create disruptive innovation is a startup, whether they know it or not. Established companies have as much to gain from lean startup techniques as the mythical “two guys in a garage”.
Tale 5: Lean Startups replace vision with data or customer feedback
Lean startups are driven by a compelling vision, and they are rigorous about testing each element of this vision against reality. They use customer development, split-testing, and in-depth analytics as vehicles for learning about how to make their vision successful. Along the way, they pivot away from the elements of the vision that are delusional and double down on the elements that show promise.
The old model of entrepreneurship was dominated by an over-emphasis on the magical powers of startup founders. Usually, the stories we hear about successful startups describe a brilliant visionary, fighting valiantly against the odds to create a new reality. As employees gradually fall under his or her spell, they execute his or her master plan, which leads, in the end, to world domination.
Anyone who has spent time around real startup successes knows this story is usually wildly untrue. Founders benefit from historical revisionism and survivor’s bias: we rarely hear the stories of the thousands of visionaries who failed utterly.
The Lean Startup moves our industry past this mythological entrepreneurship story and towards a methodology that is more scientifically grounded and accessible.
People who are truly committed to a vision of changing the world in a significant way can’t afford the luxury of staying in that cozy, comfortable place of building in stealth mode without outside feedback. If you really believe your vision needs to become a reality, you owe it to yourself to test that vision with every tool available.
Professional Software Development