Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Weekly Poll: When Did You Start Programming?

DZone's Guide to

Weekly Poll: When Did You Start Programming?

· Java Zone
Free Resource

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

People learn to program at entirely different times. For some, it's a hobby they picked up in their early teens. Others learned it at university in order to begin a career. Yet more learned as adults, as part of the job they already had.

So, how old were you when you first programmed? If you'd care to regale us with the tales of your early programming exploits, the comment thread is ready and waiting. And, as always, you'll get to review the results instantly after taking the poll.
Create your free online surveys with SurveyMonkey, the world's leading questionnaire tool.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
Create your free online surveys with SurveyMonkey, the world's leading questionnaire tool.","deleted":false,"likeStatus":{"liked":false,"score":0,"canLike":false},"zonetop":"","articleTags":[],"header":{"id":485822,"title":"Weekly Poll: When Did You Start Programming?","imageUrl":"/themes/dz20/images/ArticleImg_9.jpg","link":"/articles/weekly-poll-vintage","imageLink":"/themes/dz20/images/ArticleImg_9.jpg","titleEll":"Weekly Poll: When Did You Start Programming?","type":"article"},"url":"/articles/weekly-poll-vintage","isLocked":false,"draft":false,"articleContent":"","source":null,"modDate":1353625200000,"views":13424,"isLimited":false,"tldr":null,"originalSource":"","articleType":""}]; WMODEL_DATA.perms = {"canDecidePick":false,"canPublish":false}; WMODEL_DATA.partners = {"1":[{"details":{"logo":"//dz2cdn4.dzone.com/storage/partner-logo/5334199-appd-logo-black-rgb.png","level":2,"name":"AppDynamics","partnerUrl":"https://www.appdynamics.com/","leveldesc":"Platinum","code":"appdynamics"},"bottom":{"id":201132,"text":"

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

"},"campaign":35411,"top":{"id":201131,"text":"

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

"}},{"details":{"logo":"//dz2cdn3.dzone.com/storage/partner-logo/4924970-smconference-2016-sponsor-ca-technology-s.png","level":2,"name":"CA Technologies","partnerUrl":"http://www.ca.com/us/default.aspx","leveldesc":"Platinum","code":"ca-technologies"},"bottom":{"id":208122,"text":"

CA App Experience Analytics, a whole new level of visibility. Learn more. Brought to you in partnership with CA Technologies.

"},"campaign":74612,"top":{"id":208121,"text":"

The single app analytics solutions to take your web and mobile apps to the next level.  Try today!  Brought to you in partnership with CA Technologies

"}},{"details":{"logo":"//dz2cdn2.dzone.com/storage/partner-logo/3166109-lightbend-230-49.png","level":2,"name":"Lightbend","partnerUrl":"http://www.lightbend.com/","leveldesc":"Platinum","code":"lightbend"},"bottom":{"id":153026,"text":"

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

"},"campaign":80611,"top":{"id":153025,"text":"

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

"}},{"details":{"logo":"//dz2cdn2.dzone.com/storage/partner-logo/3457157-3228888-ibm-logo-blue-cmyk-copy.jpg","level":2,"name":"IBM","partnerUrl":"http://www.ibm.com","leveldesc":"Platinum","code":"ibm"},"bottom":{"id":180126,"text":"

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

"},"campaign":80714,"top":{"id":180128,"text":"

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

"}},{"details":{"logo":"//dz2cdn3.dzone.com/storage/partner-logo/4334434-bitbucket-logo-slate.png","level":2,"name":"Atlassian","partnerUrl":"https://bitbucket.org/product?utm_source=dzone&utm_medium=paid-content&utm_content=bb-logo&utm_campaign=bitbucket_adexp-bbtofu_dzone-javazone-logo","leveldesc":"Platinum","code":"atlassian"},"bottom":{"id":216228,"text":"

Are you using Bitbucket to accomplish your company's mission? Share your company’s mission with #Forthecode for a chance to be featured on our homepage, our social media channels, or win a free t-shirt!

"},"campaign":102712,"top":{"id":186132,"text":"

Bitbucket is for the code that takes us to Mars, decodes the human genome, or drives your next car. What will your code do? Get started with Bitbucket today, it's free.

"}},{"details":{"logo":"//dz2cdn4.dzone.com/storage/partner-logo/4875771-rhdp-logo-rgb-default.png","level":2,"name":"Red Hat Developer Program","partnerUrl":"https://developers.redhat.com/","leveldesc":"Platinum","code":"red-hat"},"bottom":{"id":202130,"text":"

Download Modern Java EE Design Patterns: Building Scalable Architecture for Sustainable Enterprise Development.  Brought to you in partnership with Red Hat

"},"campaign":116712,"top":{"id":202129,"text":"

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

"}}],"lastUsed":3}; WMODEL_DATA.authenticated = false; WMODEL_DATA.firstArticleContent = null; WMODEL_DATA.isPreview = false; WMODEL_DATA.OPTIONS = {}; TH.installWidgetController('article.content', 'articleContent5', WMODEL_DATA, typeof controller == 'function' ? controller : null, [{name: 'partners', data: true},{name: 'DEFAULT', data: true}], ' oUhbblYOaqbcblYOaqbcC', null); })(); (function() { function controller($rootScope, $scope, TH$Service, TH$LocalStorage, newsLetterPlugCreator) { $scope.subscriber = {email:$scope.userEmail == null? '' : $scope.userEmail}; $scope.submitted = false; var portal = $rootScope.model.portal; var newsletters = TH$LocalStorage.makeMap('newsletter.anon.subs').newsletter.anon.subs || {}; $scope.nonsusb = (portal) ? (newsletters[portal.id]) ? newsletters[portal.id] : false : true; $scope.examplePlug = newsLetterPlugCreator('weekly', null); $.fn.riseUp = function(e) { $(e).slideUp("slow")} $.fn.riseDown = function(e) { $(e).slideDown("slow")} var fold = $(window).scrollTop() + $(window).height(); $(window).scroll(function () { if ($(window).scrollTop() >= $(window).height()) { $scope.showEmailSubPanel(); } }); $scope.showEmailSubPanel = function(){ if($scope.minimized == null || $scope.minimized == false){ if($scope.subscribed == null || $scope.subscribed == false) { $.fn.riseDown($(".emailSubPanel")); $scope.minimized = false; } } } $scope.hideEmailSubPanel = function(element){ $(element).slideToggle(); $scope.minimized = true; } $scope.maximizeSubPanel = function(){ $scope.minimized = false; $scope.showEmailSubPanel(); } $scope.submit = function(e) { $scope.submitted = true; $scope.subscribed = true; $scope.showSubscribed = true; var key = portal.id; newsletters[key] = true; TH$LocalStorage.preference('newsletter.anon.subs', newsletters); TH$Service.exec('newsletters.subscribeEmail', {email: $scope.subscriber.email, portal: portal.id }).then(function (success) { if (success) { $scope.errors = false; setTimeout(function () { $(e).slideToggle(); }, 5000); }else{ delete newsletters[key]; TH$LocalStorage.preference('newsletter.anon.subs', newsletters); } }); if($scope.errors == null){ $scope.errors = true; } }; $scope.changeColor = function(color){ $scope.dockColor = {'background-color': color}; } $scope.showDock = function(){ return $scope.minimized; } }; var WMODEL_DATA = {}; WMODEL_DATA.OPTIONS = {}; TH.installWidgetController('emailSubscriptions.popover', 'emailSubscriptionsPopover6', WMODEL_DATA, typeof controller == 'function' ? controller : null, null, ' oUhbaTnfejsgpZntffWVcC', null); })(); (function() { function controller($scope, $service, $location, SideBarService, $timeout) { if ($scope.edition) { $scope.date = moment($scope.editionDate).utc().format('MMM DD, YYYY'); } SideBarService.ctx.pageSize = $scope.pageSize; SideBarService.ctx.isPreview = $scope.isPreview; SideBarService.ctx.mode = $scope.mode; SideBarService.fn.loader = $service; var $window = $(window); function checkWidth() { var windowsize = $window.width(); $scope.width = windowsize; } // Execute on load checkWidth() // Bind event listener $(window).resize(checkWidth); if ($scope.edition) { SideBarService.ctx.edition = $scope.edition; } SideBarService.fn.scrollCheck = function() { $scope.$emit('thIfScrollCheck'); }; var currentFilter; $scope.$on('$locationChangeSuccess', function() { if (!$location.search().filter) { $scope.filter = 'latest'; } else { $scope.filter = $location.search().filter; if ($scope.filter == 'latest') { $location.search('filter', null); } } if (currentFilter == $scope.filter) { return; } currentFilter = $scope.filter; SideBarService.ctx.filter = $scope.filter; }); $scope.display = SideBarService.getList(); $scope.$watchCollection(function() { return SideBarService.getList(); }, function (n) { $scope.display = n; }); $scope.isActive = SideBarService.isActive; $scope.isExcluded = SideBarService.isExcluded; $scope.loadMore = SideBarService.load; $scope.loading = function() { return SideBarService.ctx.loading; }; TH.on('TapBarStatusChange', function(expanded) { if (expanded) { SideBarService.unblock(); } }) } var WMODEL_DATA = {}; WMODEL_DATA.edition = null; WMODEL_DATA.editionName = ""; WMODEL_DATA.pageSize = 20; WMODEL_DATA.isPreview = false; WMODEL_DATA.editionDate = null; WMODEL_DATA.OPTIONS = {}; WMODEL_DATA.mode = null; TH.installWidgetController('sidebar.content.list', 'sidebarContentList9', WMODEL_DATA, typeof controller == 'function' ? controller : null, [{name: 'DEFAULT', data: true}], ' oUhbkSMaaqbcdvVkcC', null); })(); (function() { function controller($scope) { var $window = $(window); function checkWidth() { var windowsize = $window.width(); var $element = $('div.sidebar.sidebarTapBar'); $scope.width = windowsize; if(windowsize <= 1024 && $scope.edition){ $('.fixContentRight').removeClass('fixContentRight'); // $element.removeClass('expanded'); // $element.addClass('tapNotExpanded'); $('.tap').show(); }else if($scope.edition){ $('.tap').hide(); $('.mainContentRow').addClass('fixContentRight'); $element.removeClass('tapNotExpanded'); $element.addClass('expanded'); } } // Execute on load checkWidth(); // Bind event listener $(window).resize(checkWidth); } var WMODEL_DATA = {}; WMODEL_DATA.edition = null; WMODEL_DATA.slot = null; WMODEL_DATA.OPTIONS = {}; TH.installWidgetController('sidebar.tapBar', 'sidebar', WMODEL_DATA, typeof controller == 'function' ? controller : null, null, ' oUhbkSMadabfWVcC oUhbkSMadabbWQbVkcC', null); })(); (function() { function controller($scope, shareThis, TH$Dialog, TH$Service, $location) { $scope.getEditUrl = function(id, type) { if (!type || type == 'article') { return '/content/' + id + '/edit.html'; } else { return '/dzone/staff/' + type + (type == 'refcard' ? 'z' : 's') + '/' + id + '/edit.html'; } }; $scope.share = function(socialNet, url, title){ shareThis.shareThis(socialNet, url, title); }; // $scope.mailShareLink = function(article) { // return 'mailto:?subject=' + encodeURIComponent(article.header.title) + '&body=Article: ' + encodeURIComponent('https://dzone.com/' + article.header.link); // }; $scope.canDelete = function(article) { return article.canDelete; }; $scope.canPublish = function(article) { return article.canPublish; }; $scope.canEdit = function(article) { return article.canEdit; }; $scope.toggleComments = function(article) { if(!article.isLocked) { TH$Service.action('articles.lockNode', {type: 'node', id: article.id}).then(function(result) { if(result){ article.isLocked = true; TH$Dialog.success('You have disabled all comments for this Article'); }else{ TH$Dialog.error('error','Your requested was denied') } }); }else { TH$Service.action('articles.unlockNode', {type: 'node', id: article.id}).then(function(result) { if(result){ article.isLocked = false; TH$Dialog.success('You have enabled all comments for this Article'); }else{ TH$Dialog.error('error','Your requested was denied') } }); } }; $scope.toggleLimitComments = function (article) { if (!article.isLimited) { TH$Service.action('articles.limitNode', {type: 'node', id: article.id}).then(function (result) { if (result) { article.isLimited = true; TH$Dialog.success('You have limited comments for this Article. Now all comments will go through moderation.'); } else { TH$Dialog.error('error', 'Your requested was denied') } }); } else { TH$Service.action('articles.unlimitNode', {type: 'node', id: article.id}).then(function (result) { if (result) { article.isLimited = false; TH$Dialog.success('You removed the limits for comments on this Article'); } else { TH$Dialog.error('error', 'Your requested was denied') } }); } }; $scope.shareTwitter = function($event, title, url){ $event.preventDefault(); $event.stopPropagation(); var twitter = 'https://twitter.com/intent/tweet'; var link = $location.protocol() + '://' + location.host + url; var ref = location.host; var params = '?text='+title+'&url='+link+'&ref=dzone.com&via=DZone'; var win = window.open(twitter+params, '_blank'); win.focus(); }; $scope.edit = function(link) { TH$Dialog.open({ loadWidget: 'links.postPreview', widgetArgs: { edit: link.id }, size: 'xbig' }).then(function (result) { $scope.link.title = result.title; $scope.link.linkDescription = result.content; $scope.link.thumb = result.thumb; $scope.link.tags = result.topics; }); }; $scope.deleteLink = function(article) { var title = article.title; var type = 'link'; if(article.header){ title = (article.header.type == 'article') ? article.header.title : article.title; type = (article.header.type == 'article') ? 'article' : 'link'; } TH$Dialog.confirm('Do you want to delete "' + title + '"?').then(function() { return TH$Service.action('delete', {type: type, id: article.id}); }).then(function() { article.deleted = true; }); }; } var WMODEL_DATA = {}; WMODEL_DATA.OPTIONS = {}; TH.installWidgetController('content.commentsSlider', 'contentCommentsSlider8', WMODEL_DATA, typeof controller == 'function' ? controller : null, null, ' oUhbaqbcaibvnWffWVcC', null); })(); (function() { var WMODEL_DATA = {}; WMODEL_DATA.name = "commentsSlider"; WMODEL_DATA.slot = null; WMODEL_DATA.OPTIONS = {"name":"commentsSlider"}; TH.installWidgetController('components.slider', 'componentsSlider7', WMODEL_DATA, typeof controller == 'function' ? controller : null, null, ' oUhballbvbdSaoUhM', null); })();