Apple's Swift rises into top 10 programming languages, swapping places with Objective-C

Posted:
in General Discussion
Apple's open-source Swift has just broken into the top 10 programming languages, according to a quarterly ranking, in the process supplanting its predecessor on Apple platforms, Objective-C.




The language's position is based on data from GitHub and Stack Overflow, analysis firm RedMonk said this week. "The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends," it explained.

The top five languages were JavaScript, Java, Python, PHP, and C#.

"Finally, the apprentice is now the master," RedMonk said in regards to Swift. "Technically, this isn't entirely accurate, as Swift merely tied the language it effectively replaced - Objective C - rather than passing it. Still, it's difficult to view this run as anything but a changing of the guard."

The platform is also said to have managed the feat at a record pace, reaching the top 10 in under four years, even if it hasn't gained much traction as a server-side language.

Swift is primarily intended for Apple operating systems: iOS, macOS, watchOS, and tvOS. That has somewhat limited its adoption, even if the popularity of Apple devices has made it successful.

Apple is also working hard to promote Swift has a language, inserting it into high school and college curriculae, and using the likes of Swift Playgrounds and iTunes U to teach it to everyone else.
«1

Comments

  • Reply 1 of 25
    wood1208wood1208 Posts: 1,968member
    In order to push deep into code development world, need Windows and other cross-platform support with language ported along with development tools. Language like Python or C++ or whatever took several decades to proliferate. So in 4 years, Swift has much better traction. .
    edited March 2018 curtis hannahcornchip
  • Reply 2 of 25
    I can definitely see why. It's pretty easy to understand and write in. And I'm noticing more and more job postings for development positions that require only Swift & iOS experience. Not the usual multiple language experience. Which is nice since I'm currently learning Swift and don't particularly feel like developing for Android haha. 
    rob53lostkiwicornchipwatto_cobra
  • Reply 3 of 25
    rob53rob53 Posts: 2,042member
    I can definitely see why. It's pretty easy to understand and write in. And I'm noticing more and more job postings for development positions that require only Swift & iOS experience. Not the usual multiple language experience. Which is nice since I'm currently learning Swift and don't particularly feel like developing for Android haha. 
    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    colinng
  • Reply 4 of 25
    volcanvolcan Posts: 1,789member
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    williamlondon
  • Reply 5 of 25
    foggyhillfoggyhill Posts: 4,767member
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
  • Reply 6 of 25
    dick applebaumdick applebaum Posts: 12,520member
    Apple's open-source Swift has just broken into the top 10 programming languages, according to a quarterly ranking, in the process supplanting its predecessor on Apple platforms, Objective-C.

    The language's position is based on data from GitHub and Stack Overflow, analysis firm RedMonk said this week. "The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends," it explained.

    The top five languages were JavaScript, Java, Python, PHP, and C#.

    JavaScript, Java:  slower, less safe, harder to write, harder to maintain.

    "Finally, the apprentice is now the master," RedMonk said in regards to Swift. "Technically, this isn't entirely accurate, as Swift merely tied the language it effectively replaced - Objective C - rather than passing it. Still, it's difficult to view this run as anything but a changing of the guard."

    The platform is also said to have managed the feat at a record pace, reaching the top 10 in under four years, even if it hasn't gained much traction as a server-side language.

    Swift is gaining traction as  a server-side language, a lot due to the efforts of IBM cloud offerings.  Some very big advantages:
    • you use a common language to code both the client- side and the server-side
    • you can run both the client-side and server-side at the same time on a single computer
    • more productive for development, testing and maintenance
    williamlondon
  • Reply 7 of 25
    foggyhillfoggyhill Posts: 4,767member
    Apple's open-source Swift has just broken into the top 10 programming languages, according to a quarterly ranking, in the process supplanting its predecessor on Apple platforms, Objective-C.

    The language's position is based on data from GitHub and Stack Overflow, analysis firm RedMonk said this week. "The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends," it explained.

    The top five languages were JavaScript, Java, Python, PHP, and C#.

    JavaScript, Java:  slower, less safe, harder to write, harder to maintain.

    "Finally, the apprentice is now the master," RedMonk said in regards to Swift. "Technically, this isn't entirely accurate, as Swift merely tied the language it effectively replaced - Objective C - rather than passing it. Still, it's difficult to view this run as anything but a changing of the guard."

    The platform is also said to have managed the feat at a record pace, reaching the top 10 in under four years, even if it hasn't gained much traction as a server-side language.

    Swift is gaining traction as  a server-side language, a lot due to the efforts of IBM cloud offerings.  Some very big advantages:
    • you use a common language to code both the client- side and the server-side
    • you can run both the client-side and server-side at the same time on a single computer
    • more productive for development, testing and maintenance
    Modern Javascript is much closer to things like Swift than you think :-), but since it has been developed piece meal and by committee, it is a lot more disjointed.

    Swift has been created from scratch with less input so it has much less idiosyncrasies for sure.
  • Reply 8 of 25
    dick applebaumdick applebaum Posts: 12,520member
    foggyhill said:

    Modern Javascript is much closer to things like Swift than you think :-), but since it has been developed piece meal and by committee, it is a lot more disjointed.

    Swift has been created from scratch with less input so it has much less idiosyncrasies for sure.
    Yeah!  I wrote my first web shopping cart in JavaScript (circa 1995).  Later, several in Perl, Java and ColdFusion.

    Tho, at my age, my brain is full -- every time It ingests something new -- something old is pooped out -- I was especially happy to see (the need for) semicolons go...


    StrangeDays
  • Reply 9 of 25
    monstrositymonstrosity Posts: 2,204member
    I still hate Swift. Anyone who thinks it's quicker than a dynamic language to develop in is full of shit. Nor do I buy that it's 'safer' compared to Objective C in experienced hands. I also feel that it's harder to change you mind chop and change code on the whim, so developers are less inclined to experiment, resulting in an inferior product. Once the fanfare has died out, I'd bet a return to dynamism happens in one shape or another, either by a third party or by an intelligent compiler.
    williamlondoncornchip
  • Reply 10 of 25
    Eric_WVGGEric_WVGG Posts: 622member

    Swift is gaining traction as  a server-side language, a lot due to the efforts of IBM cloud offerings.  Some very big advantages:
    • you use a common language to code both the client- side and the server-side
    • you can run both the client-side and server-side at the same time on a single computer
    • more productive for development, testing and maintenance
    I'm not sure if I buy the benefits of "common language," but I'm currently making a back end in http://vapor.codes and let me tell you, Swift on the server-side is a treat.
    watto_cobra
  • Reply 11 of 25
    GeorgeBMacGeorgeBMac Posts: 4,666member
    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 
  • Reply 12 of 25
    StrangeDaysStrangeDays Posts: 7,943member
    I still hate Swift. Anyone who thinks it's quicker than a dynamic language to develop in is full of shit. Nor do I buy that it's 'safer' compared to Objective C in experienced hands. I also feel that it's harder to change you mind chop and change code on the whim, so developers are less inclined to experiment, resulting in an inferior product. Once the fanfare has died out, I'd bet a return to dynamism happens in one shape or another, either by a third party or by an intelligent compiler.
    So anyone who disagrees with you regardless of experiences or reasons is full of shit. Got it. 

    So which dynamic programming languages are you referring to? 
    cornchipwatto_cobra
  • Reply 13 of 25
    StrangeDaysStrangeDays Posts: 7,943member

    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 
    For what it’s worth I’m an enterprise software principal, ex-dotcommer webdev. At every big corp and org I’ve worked for we have a mix of custom applications (mostly web, some Windows desktop) and commercial tools (usually web). And spreadsheets. Lots of spreadsheets. 
  • Reply 14 of 25
    foggyhillfoggyhill Posts: 4,767member
    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 

    The biggest budget is on integrating the hundreds of flavors of the day software bought over the years and just trying to piece those things  together and keep them alive means your "workflow" (sic) has to be forged around a historic mound of dung.

    You do know those POS "enterprise" software are associated to a bundogle of internal integration done in house that may last many years.
    For example, IBM put in the Phenix system in Canada which cost 1B, cost another 1B internally (gov workers doing the work) and still doesn't work.
    Those "purchased" packages NEVER work correctly as is NEVER and always take more resource internally to make work.
    .I've yelled at vendors and consultants so often I probably damaged my vocal cords.

    So, no, workflows are not well thought out and well matched to the company. They make do with what they can.
    If that was the case, most companies wouldn't be running 10-20 year old software in this day and age.

    People and company are stuck with sclerotic workflows that often are the reason why they are inefficient and it may even kill them.

    It's not a choice, it's not the most efficient and people complain about it ALL THE TIME.

    What happens, a new guy comes in, he gets part of the system replaced, integration goes over budget, it takes way longer than supposed to, bang he leaves and the next guy decides to scale down or switch to some other genius solution.

    Often, instead of trying to fix those sclerotic workflows, it's easier to just pop out some functions, especially new ones, out of it and run them in parallel (that's always been the case but his has been accelerated) to deal with things that traditional workflow could not deal with.


    I've run large organizations with very large budgets and been in the industry since the 1980s, so you can try your haughty tone on your children.



    edited March 2018
  • Reply 15 of 25
    dewmedewme Posts: 2,094member
    The value in modern programming language depends on at least three main things; continued active support by some sort of governance model, whether it's an official standards committee or through a dedicated and engaged group of volunteers, a vibrant developer community constantly using the language, and a healthy market of full lifecycle toolsets and libraries from multiple vendors. When one language surfaces a capability that really catches on in a big way with developers (and vendors) it is very likely that other modern and actively supported languages will gain a similar capability in short order. I haven't done a lot of Swift programming but coming from a C, extensive C++, and extensive C# background Swift feels very familiar and comfortable with no big surprises and is much less verbose than Objective C. All of these languages and Java share a common set of design principles traceable to C and C++ and have for the most part been modernized over their existence to serve most current desktop, server, and mobile programming applications. So it's not really an argument about whether or not Swift as a language is "better" than any other modern general purpose programming language, it's more about everything surrounding the language like toolsets, libraries, active support of the language, and developer adoption that matters. For organizations looking to hire programmers it's also important that the academic and vocational institutions produce sufficient numbers of programmers with the skills and familiarity in programming languages so these people can be applied productively to active commercial product developments. Some people enjoy fighting the holy wars about what programming language is best, e.g., Smalltalk programmers, and good for them. But if you're looking for gainful employment in anything other than pure web development you'll probably have to learn one or more of the mainstream commercially popular languages that is very likely rooted in C and its derivatives like C++, Objective C, C#, Java, or Swift. 
  • Reply 16 of 25
    foggyhillfoggyhill Posts: 4,767member
    dewme said:
    The value in modern programming language depends on at least three main things; continued active support by some sort of governance model, whether it's an official standards committee or through a dedicated and engaged group of volunteers, a vibrant developer community constantly using the language, and a healthy market of full lifecycle toolsets and libraries from multiple vendors. When one language surfaces a capability that really catches on in a big way with developers (and vendors) it is very likely that other modern and actively supported languages will gain a similar capability in short order. I haven't done a lot of Swift programming but coming from a C, extensive C++, and extensive C# background Swift feels very familiar and comfortable with no big surprises and is much less verbose than Objective C. All of these languages and Java share a common set of design principles traceable to C and C++ and have for the most part been modernized over their existence to serve most current desktop, server, and mobile programming applications. So it's not really an argument about whether or not Swift as a language is "better" than any other modern general purpose programming language, it's more about everything surrounding the language like toolsets, libraries, active support of the language, and developer adoption that matters. For organizations looking to hire programmers it's also important that the academic and vocational institutions produce sufficient numbers of programmers with the skills and familiarity in programming languages so these people can be applied productively to active commercial product developments. Some people enjoy fighting the holy wars about what programming language is best, e.g., Smalltalk programmers, and good for them. But if you're looking for gainful employment in anything other than pure web development you'll probably have to learn one or more of the mainstream commercially popular languages that is very likely rooted in C and its derivatives like C++, Objective C, C#, Java, or Swift. 
    I hate Java and you won't convince me it is rooted in C or C++ :-). And yeah, I started programming in assembly, C and C++ back in the early 1980s, super extra proficient in all low levels things all modern engineers hate :-), I enjoyed the puzzled aspect of tuning code (almost nobody does that anymore).


    edited March 2018
  • Reply 17 of 25
    GeorgeBMacGeorgeBMac Posts: 4,666member

    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 
    For what it’s worth I’m an enterprise software principal, ex-dotcommer webdev. At every big corp and org I’ve worked for we have a mix of custom applications (mostly web, some Windows desktop) and commercial tools (usually web). And spreadsheets. Lots of spreadsheets. 
    Agreed...   I was responding to someone who was saying that most business software is developed inhouse and suggesting it runs on small mobile devices...
  • Reply 18 of 25
    GeorgeBMacGeorgeBMac Posts: 4,666member
    foggyhill said:
    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 

    The biggest budget is on integrating the hundreds of flavors of the day software bought over the years and just trying to piece those things  together and keep them alive means your "workflow" (sic) has to be forged around a historic mound of dung.

    You do know those POS "enterprise" software are associated to a bundogle of internal integration done in house that may last many years.
    For example, IBM put in the Phenix system in Canada which cost 1B, cost another 1B internally (gov workers doing the work) and still doesn't work.
    Those "purchased" packages NEVER work correctly as is NEVER and always take more resource internally to make work.
    .I've yelled at vendors and consultants so often I probably damaged my vocal cords.

    So, no, workflows are not well thought out and well matched to the company. They make do with what they can.
    If that was the case, most companies wouldn't be running 10-20 year old software in this day and age.

    People and company are stuck with sclerotic workflows that often are the reason why they are inefficient and it may even kill them.

    It's not a choice, it's not the most efficient and people complain about it ALL THE TIME.

    What happens, a new guy comes in, he gets part of the system replaced, integration goes over budget, it takes way longer than supposed to, bang he leaves and the next guy decides to scale down or switch to some other genius solution.

    Often, instead of trying to fix those sclerotic workflows, it's easier to just pop out some functions, especially new ones, out of it and run them in parallel (that's always been the case but his has been accelerated) to deal with things that traditional workflow could not deal with.


    I've run large organizations with very large budgets and been in the industry since the 1980s, so you can try your haughty tone on your children.



    So have I.  Actually, since the 70's.  And, like you working at the highest levels in and with large organizations (mostly Fortune 100 & 500) and multi-million dollar systems.  But, I never had the experience that you relate.  Luck I guess.


  • Reply 19 of 25
    foggyhillfoggyhill Posts: 4,767member
    foggyhill said:
    foggyhill said:
    volcan said:
    rob53 said:

    How many Windows and linux computers are in service? How many iOS and (to a lesser extent, macOS) devices are in service? Swift addresses a different marketplace, the mobile market, which is growing faster than the desktop and server market. There's also money to be made by developers using iOS while all the other mobile OSes make chump change. Android is difficult to develop for because there's a million different versions, most of which never get updated or patched. If I had any input into what students should be developing with and for, especially in the US, I'd strongly suggest Swift and iOS (macOS has the benefit of being closely related). Animation is a huge business and Apple products and operating systems are addressed by the primary software developers. I would never suggest someone bore themselves to death writing business software for Windows or linux. 
    iOS apps are 99¢ professional business software can run in to the thousands. There are all sorts of profitable niches in software development. Remember the trucks and cars analogy? iOS devices are by in large consumer devices. If you walk into just about any business you'll see a full computer on every desk. Sure, iPads can be used in business, especially when out in the field, but for every person you see using one, they most likely have a full desktop computer in their cubicle back at the office.
    Most "business software" are developed in house by analysts and have nothing to do with being sold at all, which is dying model.

    The rest of business software, the one sold privately, is now moving to subscription models, run from the cloud, which ahem, costs more than $1 per month.

    You're building a straw man.

    End point workflow where the desktop ruled is also dying,  even a small 12 inch business laptop (the very expensive ones) don't usually run traditional full suite.
    The fact there was no way to do work properly before outside the desktop is what led to the workflow we had for 30 years and that is why software were that way.

    Now, people are on the move, manipulating and consuming data at many place, many time, workflow change and the software changes.
    More and more of the content will be manipulated in smaller pieces, by smaller apps working to fulfill one goal.
    Uhhh, well, no...
    You bought into the advertising and the hype -- which is focused on selling available products....

    For major corporations:
    Business workflow didn't derive from product availability.   Business products were and are derived from functional need.  Very simply:  You aren't going to manage a billion inventory, a multi-million dollar accounts receivable or payable, or get out a payroll or manage employee benefits packages on an iPad in a coffee shop.

    And, the business systems and hardware to drive those functions are, to a large extent, purchased packages.  Admittedly, they are multi-million dollar packages.  But still, they are purchased packages.  Yes, there are systems developed in house.  But, due to the high cost of development and support, that is only for those functions unique to a particular business. 

    The biggest budget is on integrating the hundreds of flavors of the day software bought over the years and just trying to piece those things  together and keep them alive means your "workflow" (sic) has to be forged around a historic mound of dung.

    You do know those POS "enterprise" software are associated to a bundogle of internal integration done in house that may last many years.
    For example, IBM put in the Phenix system in Canada which cost 1B, cost another 1B internally (gov workers doing the work) and still doesn't work.
    Those "purchased" packages NEVER work correctly as is NEVER and always take more resource internally to make work.
    .I've yelled at vendors and consultants so often I probably damaged my vocal cords.

    So, no, workflows are not well thought out and well matched to the company. They make do with what they can.
    If that was the case, most companies wouldn't be running 10-20 year old software in this day and age.

    People and company are stuck with sclerotic workflows that often are the reason why they are inefficient and it may even kill them.

    It's not a choice, it's not the most efficient and people complain about it ALL THE TIME.

    What happens, a new guy comes in, he gets part of the system replaced, integration goes over budget, it takes way longer than supposed to, bang he leaves and the next guy decides to scale down or switch to some other genius solution.

    Often, instead of trying to fix those sclerotic workflows, it's easier to just pop out some functions, especially new ones, out of it and run them in parallel (that's always been the case but his has been accelerated) to deal with things that traditional workflow could not deal with.


    I've run large organizations with very large budgets and been in the industry since the 1980s, so you can try your haughty tone on your children.



    So have I.  Actually, since the 70's.  And, like you working at the highest levels in and with large organizations (mostly Fortune 100 & 500) and multi-million dollar systems.  But, I never had the experience that you relate.  Luck I guess.


    Yes, it is luck, I worked as a consultant, as a computer, system and software engineer (with the diplomas to match) in computer security, and in creating and building up retail products, enterprise products (large scale NAS) and server based client services (in telecom and outbound telemarketing platforms), plus got decades of various management  (mostly CTO these days).

    The only one who is drinking the koolaid is anyone who thinks those enterprise "packages" or large scale software are one and done when you buy it.
    Most consultants I found must never be trusted at their words; like the old adage from the cold war said. Trust BUT verify. And working as a consultant for 6-8 years in the early 1990s didn't make me change my mind on this.

    There is a reason why the industry is quickly moving away from those monolithic software that are hard to install, are hard to maintain and hard to change.  
    The return on investment on these kinds of things aren't too rosy if they can be quantified at all and the project risk is very high,

    Enterprises tend to want to rollout services more continuously, starting with core functions. That matches well with agile dev and lean enterprise principles.
    Spread out risk by leaving the waterfall development (or delivery) behind, get the highest benefits early by concentrating on key functions and features, get other functionalities out as soon as possible to get feedback to correct.



  • Reply 20 of 25
    I still hate Swift. Anyone who thinks it's quicker than a dynamic language to develop in is full of shit. Nor do I buy that it's 'safer' compared to Objective C in experienced hands. I also feel that it's harder to change you mind chop and change code on the whim, so developers are less inclined to experiment, resulting in an inferior product. Once the fanfare has died out, I'd bet a return to dynamism happens in one shape or another, either by a third party or by an intelligent compiler.
    Ya know...

    If you want the quick interaction and freedom to experiment of a dynamic (I assume that means interpreted) language you can use Swift Playgrounds.  Swift Playgrounds work in iOS macOS and from the command line interface.

    A while back I did a proof of concept Swift Playground that allowed you self-install a complex app without forcing the user to fiddle with multiple CLI steps.  The playground contained:

    1. the main Swift program
    2. source files -- subordinate Swift Playground programs
    3. resource files for use by the Swift Playground programs

    It worked as follows:  the main Swift Playground program passed resources to the subordinate Swift Playground Programs to:

    1. create a [bash] shell script *
    2. make it executable
    3. run it
    4. insure that all necessary steps were executed properly or give meaningful messages for any failures

    In essence, perform all the fiddley, cryptic, error-prone steps necessary to install, build and run an app.

    * Access to low-level 'Nix scripts from a high-level Programming/Scripting language like Swift is the best of both worlds.  FWIW, Apple considers Swift to be a System Programming Language -- this includes CLI Swift Scripts -- which can invoke other 'Nix scripts and components.
    edited March 2018 cornchip
Sign In or Register to comment.