In short, for free, let's try it out -- the short take:
What it does do well, I threw programming prompts at it such as "Write me a function that takes a Golang struct, and convert it to Cobol (or Fotran, or X86 assembly), or "Call X86 assembly from Scala". Most of the time, the code was basically correct -- not great code, but we never expected that. I tell people it's like Stackoverflow, but they haven't implemented the yell-at-you feature yet. I'm told, though I've not tried it yet, it can spot things in code such as "This is old C++11, the new way is this..." In short, it's an assistant, not a code writer, and that's OK. No AI as yet, can write applications of real value.
What it doesn't yet do -- that for example, JetBrains AI seems to do is things like "Here's a C++ code base in a file, convert it to Golang" but it is free after all :-)
I do think we're going to need something like ai.txt in code repositories to tell AI what it can, and cannot index, much as we have with web pages. I know not to use the generated code in projects because of copyright concerns, just as I know not to copy code straight out of a book, but not everyone does. It's a guide, not a code writing machine.
Yes, this does remind me of the Carterphone case I believe it was called, or Napster in some ways. Apple, and its typical arrogance, is ignoring these cases. Yes, legally, I could make a good case the Beeper is committing theft of of service. But, there's a difference between being right and being effective.
Apple can *win* of sorts, but at the huge cost of reputation. Apple, you already have an integration for businesses -- it's called iMessage for Business, and you do it today. Just let Beeper use it and make money off of them. Or better yet, actually deliver on the Android and desktop clients.
There's also the question beyond green or blue -- is this a communications service or an Internet service. That has huge legal implications. If this is a communications service, say under Title II, Apple, make a deal before someone in the FCC makes one for you. You are not loved. Personally, I don't get this -- Beeper is small, Apple is cash rich. Just *buy* Beeper and its staff -- it's probably not even lunch money for Apple, declare this a new Apple product and everyone is happy.
Of course, and as I recall, it had Perl code in it. Classic SciFi in the sense that you take reality, break one and only one rule, and see what happens as you move through time.
A blast from the past, but you have no idea how jealous I was that the PC users had "Good Basic" but not the Apple. They could use "Real Pascal" -- I think that's what drove me to C. (Yes, I probably was one of three people who had the 6502 C Compiler.
Old kodger powers -- ACTIVATE!
*Form of,an 80s programmer! (My sidekick will form something liquid like a case of Jolt)
I miss those days, because anyone could learn to do whatever they wanted -- it was just work, not layers of corporate. Granted, it was mostly assembly language to get anything done, but it was all open
And just so you know-- I have other things I can change into like:
Form of - a paper tape reader/punch!
form of - a modem without an AT command set!
Form of - 64KB of RAM -- or less!
Form of - the GOOD Byte Magazine -- but if I had to, I'd settle for an Interface Age or Creative Computing
Form of - that snooty guy at the Byte Shop who wouldn't talk to this kid because he had no money
Maybe I should have called them Blue-Smoke powers -- I certainly made enough of that.
Very cool -- shame I don't have a wall TV to just run it on. I was however, disappointed -- I saw it as a T-shirt brand "Particle Life" for physicists. The T-shirts would have slogans such as "After listening to you, I realize you're just an unfortunate jiggle in the quantum field, so I feel totally justified in ignoring everything you say"
Well, I don't know how advanced I am (except in age). But I have found the best advanced training is the same as it was in college. No book makes up for the late night hours. I find other projects and offer to help -- there's always a shortage of coding labor (especially if it's free). You learn what the book or course never discusses -- things like "What the heck was the person trying to do here?" and "Even God doesn't know how this code works!" You know you're in trouble when you see "Oh God! What an evil hack! But it works... don't touch anything!" or "Good luck future Matt! You KNEW this was a horrible job, but did you come back in time and stop me?"
I don't know if I qualify for a CTO though people call me one (people have called me names since I was a kid but Mom always said to ignore them...) But let's tuck at that first word -- "Chief". In many cultures Chief meant the one who held the final responsibility for whatever went bad. They were also the ones who had to negotiate with opposing forces.
With that in mind, learn your opposing forces and what can go wrong. Ask the dreaded Marketing tribe for their books and learn shamanic things like how long it takes to get something into the media or a retail store. Negotiate with someone in nursing to learn the mystical art of dealing with angry people you are actually trying to help. You will learn more from a nurse or a clothing buyer than you will learn from the best coding book.
BASIC itself can't be defined -- which basic? Altair 4K, Apple ][+, Microsoft QuickBasic? Some BASICs are quite advanced, others not so much. Honestly, later versions of QuickBasic were worlds ahead of what I did on the Apple.
Also, look at iVentoy. It's not free but it's not expensive, and it is "Ventoy over PXE boot". It takes a bit to set up, but I have it running on a Linux box and I can boot any machine from any image.
Oh, agreed -- I am not suggesting one take the first job. I went through six months of interviews before taking this particular job. I am only saying, don't discard all jobs because they are not the job. Be open to new avenues. I didn't take the job at a bank for example, because, first or not, it wasn't a fit at all.
Another candidate for the old-time stories would be Internet before the public Internet. Back then, as noted, we have several "nets" connected by everything from fixed circuits, to dial-up telephones (I still know where my Telebit trailblazer is), and radio. And you had to know how to traverse it all. (I had the wall maps that were about as complex as colossal cave -- albeit no vending machine or Dr. Pepper bottles). Back then, kiddies, people actually communicated, they did more than just consume -- in fact, I'm told, I am responsible for the Anishinaabe word for Internet. (I helped bring their place on line years ago.) It supposedly means "The place where people talk who have never met"
Despite all the talk, believe it or not, there are still open positions -- I work for a large telecom in the Bay Area, and I'm told we have 8,000 unfilled positions. But let's drill down a bit -- what is gone is the insanity -- we no longer pay $200,000 a year for dev-ops, you can no longer bring your dog to work. And, yes, we still have management that INSISTS if they can't see you in the chair, you must be scheming with a competitor. The jobs are there, but folks, we call it work, for a reason. If it were fun, we'd call it play. Mind you, I would completely understand anyone who said "I don't want that lifestyle anymore -- it was killing me!" But when you say that, you also say I don't want the paycheck. Decide what you will put up and what you won't put up with. I need medical coverage from a company that will be there, so I make my peace with the choices. I'm well paid, and well covered, but there is a price. Also, when you do shop around, remember, you know what you're worth -- both on the high and low end. Everyone talks about not selling out for a low salary -- but be careful. If someone is willing to pay you substantially more than you're used to, either you'd had a problem for years you didn't know about, or, why is everyone else refusing this job... And, as a final note, it's always easier to get a new job when you have one, so don't turn away what I call the "temporary job". I knew someone who was unemployed at the time -- and we had an open position that paid about $130K. He informed me "I will not work for people who do not value me and pay me at least $147K!" Now why it was $147K, as opposed to $150K, I have no idea, and at the moment, he was making nothing. So I don't understand. When I joined this company, I took a 30% cut. I wasn't happy about it, but a 30% cut is better than a 100% cut. (See I did pay attention in math class!) However, getting back into the workforce let me meet people again, and by blessed circumstances, meet people who moved me up over 20 years such that I've made back far more than I lost.
Also, Jetbrains does not indicate if I can build my own "private AI" with just my materials -- companies are concerned about what the AI knows and doesn't know, and where it gets it -- can Jetbrains AI be constrained to just a defined corpus?
I love the idea of an AI assistant for coding -- the ability to check references on the fly, the ability to not have to sift from through Google and StackOverflow which aren't that useful these days, is a great idea. BUT at this price, we need proof this is better than what we have. A week isn't enough. I'm not asking Jetbrains to give it to us for free as part of the package, but I can see 60 days unlimited use. It needs to be used in a large project, not just played with. It's important to remember, Jetbrains already has issues with thecloud-based IDEs now -- not everything is on the desktop. If they want me to keep paying every year, I need a strong reason to pay more than I do now.
Another item (HN won't let me post a long reply), is a programming environment called Onyx. (After my grandson in Africa, who has NO interest in it whatsoever as he intends to be a pilot -- but this is OK as, unless she works for Airbus, we're ignoring the ladies for a few more years. Sosongo Abasi as his father would say!) Onyx is a language designed for 13-17 year olds who may not have the best command of English -- we can work in the language of the Igbo, the Yoruba and Erik. Doesn't matter to my parser. And it will all be free, documented, Github'ed and built with free tools. Education is hard over there..
Well, a very long time ago, in a company funded far far away (and since defeated by the empire), I had the "joy" of working with Sendmail. For you youngsters, back then, back when we had dial telephones (tell us more Grandpa!), there were multiple "mail networks", not just this fancy Internet you kids have. Sendmail was a mail processor that could not only arrange to send and receive mail, but it could translate addressing between the different networks (ARPA, Bitnet, CSNET, UUCP, etc.) The problem was, reading a sendmail config file was something like reading assembly code except you weren't allowed to by vowels. It was nearly all symbols -- executable line noise.
I got tired of working with it - so I wrote my own sendmail compiler/de-compiler of sorts just to work in English prose. Got me my job at Sun.
These days, I'm not sure if it will let me keep my job, or be the justification for my losing it, but I'm working on a programming language for teens called Onyx (after my grandson, who has NO interest in this as he's intending to a be a pilot, but it means unless she works for Boeing, I'm safe for a few more years
That depends on what we mean by feature of course.... let's assume we mean concepts... here's my list:
Believe it or not, Cobol's formatting for printed reports -- we still do print and formatted output worked well there. Modula-2s imports -- C++ is getting there, but imports just worked. Lisp's macros had their day. I think we could benefit from stepping away from "make a better C++" and ask "what is this language trying to do?" There's no universal "best" language, but one immediate benefit I'd like to see -- let's finally agree on a universal calling convention, at least on Linux for example, so every language can call another? Let's give credit to Microsoft's CLR on that one. Also, golang's getting the idea with structure tags, but how about structs that serialize to a universal format -- see Corba is not dead!
Absolutely it is -- your talking to a neuroscientist who did just that, sort of....
But it does help to take the classes. You can learn a lot of music theory in books, but until you play music in practice, you never get close. You can learn neurosurgery theory, but it doesn't change the first day when you actually perform it. They're quite different!
The classes are an accelerator. You can learn it all on your own, but the classes can, in many cases, offer a short-cut to learn things you might not find in the books. For example, you will find many sorting algorithms in books, but will you discover what leftist-trees are? Or needlesort? These are "tools" in the "toolbox".
Don't get me wrong, you can do it, but you'll be buying a lot of textbooks on your own. Again, notthing wrong with that -- we both know most college classes you do the work and the lectures are there to assit - you can skip the lectures if you desire. So, you can teach yourself -- it just takes longer. A history buff turned system admin once put it to me this way....
"I learned CompSci myself, but added the degree later to be accepted. You can it yourself and become expert in your field in about five to ten years - or take the classes and learn a lot in two. That being said, even an old history major can do it."
There was another reason Usenet died -- people want other people to do the work. Oh, they'll pay for it to a degree, but Usenet wasn't plug-and-play. To make Usenet work, everyone had to cooperate and most people just don't want the work. AOL wasn't even close, but it was someone else's problem to run and maintain. Hostly, my own vies here, but if Reddit just had an NNTP bridge, people would flock to it and never know the differece. I remember running a node -- it was a constant battle to maintain space on the spools and deal with my own users. And, for what? It cost us money and while everyone said they wanted it, no one wanted to help with the work or pay for it. Add to that the number of groups that just want "zombie" on us, and it died.
Per the whoe whietspace idea -- techniaclly not a feature, just a policy statement. "This language has chosen manditory tabs at three spaces. It's not that this is better than anything else out there, but we gave you all a choice and you couldn't make up your minds, so as your mother would say, this is what it's going to be! Be happy we let you have this!" Also, on style, all code must be in capital letters -- comments are in mixed or lower case. That way you can easily tell wehre actual code is. Every line, and we mean EVERY line must have a comment. If you don't add one, WE WILL. Granted, it may not mean anything but no one reads them anyway?
And now that I think about it, other than negative lifetimes, where variables reappear in code after a defined time because you might need them again, I propsoe the hidden segments feature -- with this feature, you can write code, and hide the block (something like an invisible #define) so when your coworker comes along and tries to "help" by changing your code that you told them SHOULD NOT be changed because it actually works now, when you run the code with the --no-manager flag, the code compiles the way YOU want it.
And of course, let's adopt Rust's logic with our new "Borrow Nagger", or just "Everything Nagger". When it compiles your code, it analyzes it, sends it out to a Reddit group and collects the comments and displays them as warning and error messages. No one is saying they'll make any sense relative to code, but if you've used C++ and templates, you'll feel right at home.
Abd of course, there's "syntax quality hightlighting", where we highlight your code in various colors based on what we think of the quality of it. Red = Really bad idea, Yellow, not good, but good for now, you'll refactor it later, green, good because you won't be at this job long anyway, and black on black or white on white if it's actually OK.
(Per the comment on refactoring, there's probably a note on the pyramids 'Pharoh - yeah, this is a hack, but we were in a rush, we'll fix it later. Bandaids for now'
A correction on another comment -- this is not a multithreaded language -- it's transthreaded-- a radically new concept where your code may or may not, run code in your thread, or someoen else's thread, without your knowledge. Errors in your code show up in their program, and their errors, in yours - see? Now bugs aren't your fault anymore!
And don't forget the KvetchGPT option. It's doesn't so much as complain about your code as you go along. It's like pair programming with your manager but you can turn them ofF.
Please no! Someone may try to actually use this in some corporate production model -- I can see the carnage now - the language, editors where you can write left to right, right to left, or even vertically with an exta cost plug-in, training courses at $1500/day -- the horror of it all! Don't forget the vertical camelcase variable names where letters appear, not only in both cases, but on two lines. You know of course, tehre's a special place for you when the mist clears. You'll either be stuck in the Bank of America customer care department for eternity, or, be stuck in the other Big Red helping to get Larry Elisson's network computer workig -- FOREVER.
No one hires for technical bullet points -- that used to be thing in the 90s where engineers had a page full of "I know this language/framework". We found it didn't really tell us anything -- the languages and frameworks move so quickly, no recruiter or manager can keep them stragiht.
If you want to get noticed for an interview, show me examples what you've actually done, and how it had a positive impact, or, show me what you've created -- cool and inspirational always wins. A professional photographer doesn't go into the interview with "I know this camera" or "I am an expert on lighting"-- that comes up in the interview, but they lead with "Here is my portfolio. As you see, I am particularly focussed on wild animal photography." If the company needs that, the rest is detail.
It is also important to remember, languages are tools, not religions. I did a lot of Fortran work for scientific work, Pascal for desktop apps of the day, and C becuase, like today, there's very little hardware C can't get access to. That's the point. We use each language for what it's really good at. We keep the old langauges around because, to be honest, can you swear changing those Fortran libraries will work without breaking something -- who can you check with? The author is probably retired, or dead. Often old languages exist because, like mainframes, the code works and no one dares to change it.
I'm both amused and saddened. I still occasionally run into Fortran, Perl, Pascal you name it. I do more work in Golang, C++ or Scala these days, but I am always reminded that at once time, Pascal and C ruled. What is sad is that the language of the day group has declared the Queen dead but she's still quite alive -- older, but alive.
This is programming folks -- we are programmers. We write in the language that is asked of us. We can't know every language, but flexibility matters -- both in languages and us.
Sure Rust is hot right now, but I remember when that was Scala. Remember when D was going to replace C++? Learn what you can in as many places as you can.