Archive for the ‘Microsoft’ Category
Over the years dynamic languages such as Python and Ruby have become cherished by startups. As for .Net it is more rarely heard to be used by startups. That’s interesting indeed, because this platform is definitely bigger than most of the popular ones.
So I wonder why a platform as widely adopted and supported as .NET isn’t more visible in startup culture. Let’s try figuring out the main arguments in favor and against making .Net a startup technical choice.
1. Community culture
Some people say the main reason is the culture of the .NET community itself, not anything specific to the platform. Being centered mostly around the needs of enterprise market .NET developers’ concerns are often regarding supporting legacy systems, building enterprise architectures, large systems for supporting business processes. This implies solving problems which are not so relevant for startups at least at their initial point.
As for members of the startup community, they fuss over different issues – concurrency, experience design, supporting multiple clients and browsers, etc.
As a result the startup community and the .NET community don’t overlap as much as they do for other technologies. That’s why startup founders don’t get much exposure to .Net and don’t think of it as an applicable tool for their purposes. The same way many .Net developers who want to work for hot startups don’t have as many opportunities to do so unless they abandon the platform for a more startup-friendly one or start a company themselves.
So platform doesn’t always dictate its use – that’s people who make the choice. Enterprise and startups aren’t mutually exclusive – they’re just different stages in the evolution of software, and there’s no reason why the startup community shouldn’t look at .NET as an attractive starting point for a new business.
2. Startup tech compatibility
A startup is a risky venture with no guarantee of success. So tech startups seek advantages in order to succeed. Hence startups take what big enterprises consider risky bets on technology. This objective can be achieved by using technology that is popular in startup environment.
Many features of .NET, facilitating the productivity of big companies, are not always useful to startups. There is too much choice of implementation methods. If anything, web startups are looking to have this choice taken away – their technology choices come from the subset that is built for the web.
Also it is said that innovation is quicker with other ecosystems which have a bigger set of libraries and tools. As for .Net there are a few open source projects however most of them are pretty much an implementation of concepts that have already been implemented for a while in the Java world, for example.
3. Open source vs proprietary
Although many startups don’t mind paying for tools and services, most of them still pick things based on cost. For a long time the “enterprise” level tools, services, databases, etc were hardly affordable by startups. That’s why startups adopt so much open source.
It’s also hard to justify the use of proprietary software from a business perspective. If you want to be acquired it is wise to develop your product using an open stack rather than Microsoft’s.
However luckily for many startups Microsoft saw a huge value in giving their stuff away to startups and startups have benefited greatly. Microsoft has been running their Bizspark program for several years, which eliminates most of the startup costs normally associated with employing a .NET framework. To get into the BizSpark program you just need to get checked by BizSpark team if your startup is eligible (developing a real product). Then you’ll get free licenses to basically every product they make, including SQL Server, and a free MSDN gold subscription, for 3 years. They figure 3 years is long enough for you to get going so after that they want you to pay for new licenses. The great part is that they let you keep the licenses you’re already using. So Microsoft has basically taken the cost factor completely out of the equation for new startups.
4. Velocity vs performance
Some people say that it’s all about the velocity. If you agree with an assumption that a startup goal is to find a niche vs build a product, then the goal of a startup is to learn about the market, customers, and product needs as quickly as possible. Python, Js, Ruby, etc allow you to iterate quickly without a lot of infrastructure and boilerplate. However a company that has already has a market has a little different goal, for them the objective is to build a stable product that they can maintain.
Some people say that .Net is not suitable for quick changes. This is a pretty outdated view of C# these days, it’s actually fairly easy to write extremely terse code with. As an added bonus refactoring is so incredibly easy compared to JS, Ruby, Python, etc. that it’s ideal for rapidly switching directions in code as you can refactor so fearlessly without being slowed down by massive amounts of tests. Unfortunately what’s bad about .Net is the tooling and the supporting ecosystem.
Python is much better suited to quick prototypes that can be fleshed out into a reasonably reliable product without too many headaches. The key difference comes when you have to change features mid-stream. The lack of strict typing and interfaces means you can add, change, and remove features much quicker than C# for example. On top of that, you just write fewer actual lines of code to get the same thing done, although sometimes readability can suffer if you get too concise. There is a price to be paid with Python and Ruby though and performance is the biggest one.
5. Team and project size
The team and project size always matters. So when the solution is being built with a small team, then it is easier to use something like Python. Obviously the goal is to be fast to develop in and have a bunch of libraries to be used. On the other hand when building something with a big team, you feel like using something like C#. In this case it keeps it safe to develop in and easy to catch mistakes. Any optional documentation provided by a developer is incomplete. On the contrary the quality level of the available .Net documentation is outstanding.
However if the company is starting as very small at the initial point, it hopefully grows and builds up quite a sizeable codebase by some point. Python, JS & Ruby are fine for small programs but anything more than that and they become their own enemies because the programs they make are quite brittle.
The common opinion is that .Net scales well.So, if your startup does make it, you’ll probably have a much easier time scaling the .Net stack than you would with say Ruby or PHP.
Conclusion: it’s all about stereotyping
Eventually, I found different opinions on my question of .Net being not so popular with startups such as “platform lock-in,” “no open standards,” “licensing costs.” Sure, these are issues preventing many developers from adopting .NET in the startup space, but not enough to bar all of them from using it. Most of the arguments are just stereotypes that can be dispelled under closer examination.
All languages have strengths and weaknesses. For a startup, you need to do due-diligence and research what the right language to use for your idea will be because recoding in a different language can get costly.
So do you use .Net in your startup projects? Please share your feedback and experiences with us.
The IT sector is flourishing. If you’ve used a computer for at least a couple of times in the last few years, you’ve probably noticed this. I’ve noticed it myself even more after a business trip to Stockholm where I was lucky to attend some conferences and learnt more about Swedish IT industry tendencies. These tendencies reflect our life in general. Life changes rapidly with new technologies bursting into it. And when it comes to programming languages, we get a chance to see very different trendy styles. Programming languages which were popular some years ago are not useful today. And no one can exactly predict which programming language will be popular in future. That’s why a programmer who wants to stay in developer fields has to adopt the right programming language from time to time.
As the Swedish software maker Erik Starck pointed out, “programming is about managing complexities”. And it’s really so. An understanding of at least one programming language makes an impressive addition to any CV nowadays.
It is also very difficult to get the exact number of users for any programming language. Many of us use multiple programming languages. The more experience you have, the more programming languages you use. The more programs you write or work with, the chances of using more languages rise. The larger the company, the more languages you’re likely to use.
There are a number of ways to measure the popularity of a programming language, for example, based on the number of: 1) new applications written in the language; 2) existing applications written in the language; 3) developers that use the language primarily; 4) developers that use the language ever; 5) web searches; 6) available jobs that require skills in the language; 7) developers’ favorites, etc.
My survey attempts to rank which programming languages are most popular in Sweden, each using a different measure. So, they are the following:
Python is an object-oriented programming language which allows developers to work quickly while integrating their systems more efficiently and effectively. Designed by Guido van Rossum in 1991, Python is one of the most easy to use programming languages.
Python is characterized by its use of indentation for readability, and its encouragement for elegant code by making developers do similar things in similar ways.
Top Employers: Amazon, Dell, Google, eBay, Instagram, Yahoo
Java is a class-based, object-oriented programming language founded by Sun Microsystems in 1995. Java is one of the most in-demand programming languages today for many reasons. First of all, it is a well-organized language with a strong library of reusable software components. Secondly, programs written in Java can run on many different computer architectures and operating systems because of the use of the JVM (Java virtual machine).
Top Employers: Amazon, Deloitte, Sun, eBay, Symantec Corporation, Cisco Systems, Samsung
C++ is a compiled, multi-paradigm language written as an update to C in 1979 by Bjarne Stroustrup.
Due to its high-level compatibility and object-orientation, C++ is used for developing a wide-range of applications and games which makes it a popular and sought after programming language by the employers.
Top Employers: Intel, the Math Works, Microsoft, Qualcomm, Amazon, Mozilla, Adobe, Volvo
Ruby is an open source, dynamic programming language designed by Yukihiro Matsumoto in 1995 with a key focus on productivity and simplicity .It is one of the most object-oriented languages in the world.
Ruby is a mix of elegant syntax which is easy to read and write and hence it has attracted many organizations and developers.
Top Employers: Spokes, VMware, Accenture, Cap Gemini, Siemens, BBC, NASA
Top Employers: Microsoft, Sales Force, IBM, Yahoo, Dell
C# is a compiled, object-oriented language developed by Microsoft.
It is highly used on Windows platform and labelled as the premium language for Microsoft .NET framework. C# is known for strong typing, procedural and functional programming discipline which is the reason it has acquired so much popularity.
Top Employers: Microsoft, HP, Digi-Key Corporation, Allscripts, Intel
Those are the top 6 programming languages which are in great demand among Swedish developers.
And one more thing: remember that opinions are like noses, everyone has one and they all smell ;) If you disagree, please feel free to email me or write your own opinions in the comments.
Posted October 28, 2013on:
After Apple slammed Microsoft for gouging customers and designing tablets that nobody wants, Microsoft has fired back, saying that you can’t get real work done with iPads or its anemic iWorks productivity suite, and that iPads are little more than toys. Who’s right in the increasingly nasty war of words?
At Apple’s iPad launch, CEO Tim Cook and others zinged Microsoft for charging $99 a year for Office, charging $199 for people to upgrade to Windows 8, and for having a confused tablet strategy. CEO Tim Cook said about Microsoft:
“They’re confused. They chased after netbooks. Now they’re trying to make PCs into tablets and tablets into PCs. Who knows what they’ll do next? I can’t answer that question, but I can tell you that we’re focused.”
Microsoft is striking back, and striking back hard, esssentially claiming that you can’t get serious work done on an iPad, and that the only reason Apple is now giving away its iWorks suite is that no one wants to buy it. On the Official Microsoft Blog, Frank Shaw, Corporate Vice President of Communications at Microsoft noted the criticisms that Apple had aimed at Microsoft, and shot back:
“Seems like the RDF (Reality Distortion Field) typically generated by an Apple event has extended beyond Cupertino.”
And then he took off the kid gloves, criticizing Apple’s new iPads as overpriced, iWork as a pointless piece of software, and saying they don’t stack up against Surface tablets when it comes to productivity. He wrote:
“Surface and Surface 2 both include Office, the world’s most popular, most powerful productivity software for free and are priced below both the iPad 2 and iPad Air respectively. Making Apple’s decision to build the price of their less popular and less powerful iWork into their tablets not a very big (or very good) deal.”
He said iPads were not suitable for getting real work done, and that the reason Apple is giving away iWork for free is that no one wants them, as shown by their $10 price for iOS, or $20 for Mac OS X. He wrote:
“…it’s not surprising that we see other folks now talking about how much ‘work’ you can get done on their devices. Adding watered down productivity apps. Bolting on aftermarket input devices. All in an effort to convince people that their entertainment devices are really work machines.
“In that spirit, Apple announced yesterday that they were dropping their fees on their ‘iWork’ suite of apps. Now, since iWork has never gotten much traction, and was already priced like an afterthought, it’s hardly that surprising or significant a move. And it doesn’t change the fact that it’s much harder to get work done on a device that lacks precision input and a desktop for true side-by-side multitasking.”
And he concluded that when it comes to getting real work done, Apple is far behind Microsoft:
“So, when I see Apple drop the price of their struggling, lightweight productivity apps, I don’t see a shot across our bow, I see an attempt to play catch up.”
Who’s right here? When it comes to the productivity argument, Microsoft is. There’s absolutely no doubt that a Surface Pro 2 tablet equipped with a Touch Type 2 keyboard and a free version of Office is a far more effective tool for getting serious work done than an iPad with iWork. In essence, the Surface Pro with the Touch Type 2 keyboard is an ultrabook. An iPad with iWork is…well, an iPad with iWork. In other words, fine for light work. Not well-suited for serious work.
But when it comes to the tablet market and to sales, Apple is right. For now, tablet buyers don’t care about doing heavy-duty work on them. Checking email, browsing the Web, running apps, and light memo writing, are all well-suited for tablets. And that’s all many people need to do for their work.
So in the tablet battle, Microsoft’s Surface may be on top for productivity. But when it comes to the bottom line and sales, Apple is still cleaning up.
Today I would like to draw your attention towards Business viewpoint in comparison of SharePoint and Drupal.
So let the story begin.
Initially SharePoint was created as a document management system and has over time, through continuous expansion and new features, taken on some similarity to a content management system. So for today SharePoint is being positioned as not only an intranet platform, but also a web framework that can power big sites and be on the same playing field as other larger CMS platforms. Drupal in its turn has been developed to provide the foundation to build something, whether it’s a corporate website, web-shop, customer portal, CRM, intranet or extranet, or all at once. So theoretically, we can admit that since then, Drupal and SharePoint has seen the light, both platforms have been more in each other’s way and the debate of Drupal vs. SharePoint has been part of their history. Still what is a wiser choice?
Time for setup
In this point Drupal knock SharePoint out. Firstly Drupal is based on PHP that makes it very easy to run on any environment. With SharePoint, it needs to run Windows locally to be able to set up even the development environment. If you do not have Windows, you will need run it on VMware or other virtualization software. In this case you will have to beef up your local machine to manage the memory requirements.
Today SharePoint Online definitely obviates the set up hassle for companies not looking for self-hosted solutions. Even so, the configuration steps are not as easy and shiny as they might look on the surface.
Drupal allows to quickly set up an intranet site or something on a public domain in a few hours. From a business point of view, you can get rolling within a few hours!
Integration with other services
In this case SharePoint definitely has serious advantage of how well it integrates with the other Microsoft services. So, if as a company you are invested in Microsoft and its other services, SharePoint is a natural choice. Firstly, you would already have Windows developers and system administrators and secondly, the tight coupling SharePoint offers with other MS services is golden.
Though Drupal can be configured to interact with other MS services, it is much easier in a non-Windows scenario.
While SharePoint solution need to have not only developers but an in-house SharePoint system administrator to be able to carry out deployments, Drupal does not required any extra developer or CPU resources.
Activities beyond intranet
One of the claims of SharePoint is how it helps companies launch multiple websites apart from just setting up an intranet platform. Still to pull this off it requires a humongous number of human resource and the technical ability . The same can be achieved with Drupal but easier.
Maintenance against paid upgrades
SharePoint today is in a much better shape than what it was a few years ago. But the progres has been very slow and every upgrade means digging deeper into your pockets.
With the community based model, Drupal has seen a far better progress in a much shorter time. The progress has not just been in the core platform but also the kind of plugins and extensions for rapid site assembly available to make Drupal a fuller platform.
In the market Drupal being an open source option has a lot of low cost and free available themes, that can be integrated without much effort. SharePoint in its turn charges for the themes and plus designers have to know XSL to be able to tweak the themes.
What do you think who will have more advantages if we compare an open source option with a Microsoft product? JStill it’s important to note that, SharePoint as an online hosted solution is much more affordable than its predecessor downloadable versions. The licensing fee and the developer licenses were prohibitively high which now can be circumvented by going for the online versions.
From business point of view open sourсe solution seems more profitably than corporate one and Drupal wins. Still if we compare them from technical point of view…who knows, may be the Microsoft’s family product will gain revenge. It would be interesting to know your thoughts about it.