|
PowerBuilder did not have a GUI builder anything like VB. Only after VB was out, did PowerBuilder create something similar. In fact, when I worked for the State of Florida, we were deciding on what tools to use for Windows application development for our agency. In the PowerBuilder presentation, the presenter stressed several times how PowerBuilder was like VB for building Windows forms. We looked at both equally, but VB was more advanced in terms of language and the GUI builder.
That was a long time ago.
The point today is the lack of a GUI builder for VS2022 that has the productivity for XAML and HTML/CSS that it has for WinForms.
|
|
|
|
|
Git sucks. TFS is awesome.
|
|
|
|
|
Strongly agree.
/ravi
|
|
|
|
|
Git is awesome. I know for a fact the only peeps that hate it are the peeps that don't know it. Name one thing TFS does better... I'm waiting.
Jeremy Falcon
|
|
|
|
|
I fully agree.
Based purely on my experience, I'll readily admit I'm not a fan of Git, but fully acknowledge that this is entirely because I don't know it well enough. I have zero doubt, at this stage, Git is the superior product.
I worked with a guy who loved it, and his enthusiasm for it was contagious. Who gets excited about TFS??
|
|
|
|
|
dandy72 wrote: acknowledge that this is entirely because I don't know it well enough My peeve is when people are full of fluff. If you like TFS just because you like it and that's the only reason why... you do you. It's when peeps start lying about another product they know little about as the justification, that's just no bueno.
dandy72 wrote: Who gets excited about TFS??
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: It's when peeps start lying about another product they know little about as the justification, that's just no bueno.
This. So much this.
In the case of Git vs TFS, like I said, I stick with TFS because it's all I'm comfortable with (right now) and I haven't had any real bad experiences with it. I managed to get myself in trouble with Git in the past (my own ignorance / my own fault), and fortunately I had people who helped me out, but I still have zero problem saying Git is the way to go. I just wish I had the time and motivation to learn it, and learn it well, from a good, up to date, and reliable source.
|
|
|
|
|
dandy72 wrote: I managed to get myself in trouble with Git in the past I'll admit, Git does have a higher learning curve. That's both good and bad ya know. There are things I can pull off with Git that would be impossible in other SCMs - I think. I know Git the best these days. What I do know for sure is that I can do just about anything one can imagine, but that comes at a cost of a learning curve.
Anywho, if you don't have a pressing need for it and you do have something that works, that's a totally acceptable stance. I say that all the time about tech. Time is finite. There's other things life... like going outside... that are important too.
dandy72 wrote: I just wish I had the time and motivation to learn it, and learn it well, from a good, up to date, and reliable source. Yeah, unfortunately, the best reliable source is other developers actively using it IMO. And even that's not a perfect scenario, but that's how I learned it. Git books never really did it for me.
Jeremy Falcon
|
|
|
|
|
dandy72 wrote: Who gets excited about TFS??
I don't get excited about any tool. Just as I don't get excited when I decide whether to use a hammer, saw or screw driver.
I do know that git, and this is by design, only does versioning(labeling) at the repo level. That is entirely appropriate for a tool that was designed for open source libraries.
But in a company enterprise system the ability to version (label) within a sub-code tree without managing subsystems as independent deliverables is something that can be very useful for large complex systems.
This is appropriate for mid-size companies where they have gotten big enough that there is now more than one team but not many.
When a company gets big enough of course they will start need to actively managing multiple deliverables including libraries. (It can be interesting to read what google uses for source control and git is not it.)
|
|
|
|
|
jschell wrote: I don't get excited about any tool. Just as I don't get excited when I decide whether to use a hammer, saw or screw driver.
Hypothetical situation: I suppose if you repeatedly have really bad, frustrating experiences with one tool, and have to put up with it for long periods of time (because there's just nothing better out there), then you find out about some other tool, give it a try, and it works a lot better - and you never go through a bad experience ever again - that'd be reason enough to get excited about something.
I'm not saying this is what happened with my coworker, but I had to smile at his enthusiasm using a software program. You don't see that often. Bless him for that, I say.
|
|
|
|
|
dandy72 wrote: frustrating experiences with one tool,
Yes. Except of course it doesn't even need to be plural.
|
|
|
|
|
Labels. Git doesn't have them at all and they are critical. And an API / .net integration. And integrated ticketing.
Edit: Here's what the Users' Manual for CMS has to say about Classes (which are very like Labels in TFS.)
5.1.2 Classes
A class is a set of specific generations of elements that can be manipulated as
a unit. A class can hold only one generation of any element.
You use classes to represent the state of development of a system or set of
elements at a particular time or stage. You can think of a class as a picture
taken of a library at a particular time. For example, you might create a class
named FIRST_DRAFT that contains only those generations of elements that
were used in producing the first draft of a manual.
Typically, you create a class to contain generations of all the components of a
software system for a release version of a product. You can establish classes
for different stages or milestones. For example, you could establish one class
for implementation, a second for testing, and a third for generations that
have completed the first two stages. As each module progresses through each
stage, you assign each generation to an appropriate class; thus, you can easily
determine your progress by displaying the contents of the different classes, and
you can later reconstruct any stage of development.
Once you insert an element generation into a class, further changes made to
the element are not reflected in the contents of that class.
HP DECset for OpenVMS
Guide to the Code Management System
Order Number: AA–KL03H–TE
July 2005
In particular: "or set of elements" -- the developer has full control over which generations of which elements are included in the class.
Note that VSS does not have such a feature, but it was included in TFS.
CREATE CLASS class-name[,...] ‘‘remark’’
Command Qualifiers Defaults
/[NO]LOG /LOG
/OCCLUDE[=option,...] /OCCLUDE=ALL
Creates one or more classes. After creating a class, you can place any related
set of element generations in that class by using the INSERT GENERATION
command. The CREATE CLASS command does not automatically place any
generations in the created class. For more information on classes, see the
HP DECset for OpenVMS Guide to the Code Management System.
HP DECset for OpenVMS
Code Management System
Reference Manual
Order Number: AA–QJEVC–TK
July 2005
The phrase, "any related set of element generations", may give the impression that there already has to be a relationship between the elements in the repository, but that is not the case. Adding generations of elements to a class defines a relationship between them.
modified 2-Nov-23 13:57pm.
|
|
|
|
|
PIEBALDconsult wrote: Labels. Git doesn't have them at all and they are critical. They're called tags in git. Seriously man, we're supposed to be better than this.
PIEBALDconsult wrote: And integrated ticketing. I'm guessing you don't use any non-MS product? I'm sure there are tons of other products that do but Jira, as one example, has integrated with Git for years now. I mean years.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: They're called tags in git.
No, those are a totally different thing. And I see no purpose for them.
From what I see (RTFM), a Tag in Git (or Subversion) includes a version of all of the items in a repository.
That's not what a Label in TFS (or a Class in CMS) is. With a Label or Class, you include only the items you are interested in -- which could be all of them, but usually not.
Git should add this feature, it shouldn't difficult, and it will make things so much easier.
modified 2-Nov-23 12:28pm.
|
|
|
|
|
How so? Isn't the purpose of a label to find a specific commit?
To quote Microsoft:
Team Foundation Version Control (TFVC) labels provide a way for you to take a snapshot of your files. Later, you can refer back to that snapshot. By using your label, you can view, build, or even roll back a large set of files to the state they were in when you applied the label. I realize you can name labels in TFS. You can also name tags in Git. So, how is it not the same thing?
Jeremy Falcon
|
|
|
|
|
As I said, a Label typically contains only a small subset of the items in the repository.
Edit: That quote from MS is just a very brief overview of what Labels can be used for. It basically says nothing about what Labels are and the broad range of what they can be used for.
If a Git user finds himself using TFS and wants to know how to make the equivalent of a Tag, the answer is a Label, but that doesn't mean that Labels and Tags are the same thing, they are not. They are not equivalent; Labels are greater than Tags.
Find the actual documentation for Labels and read it.
modified 6-Nov-23 13:43pm.
|
|
|
|
|
Ok, so if it's backwards... then as I said Git already does that. You still didn't define what constitutes a subset btw. So, let's just assume it's a diff of files that changed between commits. Git does this. Saying it doesn't isn't correct.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: it's a diff of files that changed between commits
No. That is not what a Label/Class is. That may be a typical use for a Label, but I can put any version of any item in the repository in a Label any time I want. An item/element doesn't need to have changed to be put in a Label/Class.
|
|
|
|
|
So then I didn't get it backwards... which means we clearly have a breakdown in communication here.
Jeremy Falcon
|
|
|
|
|
Yes, you still don't understand what a Label is in TFS or what a Class is in CMS.
|
|
|
|
|
So, you're saying the dude in the video is wrong as well? Because I'm not hearing anything substantial exept you saying "I'm wrong" when to be honest I don't think you know what I'm saying. I've cited three sources saying what a label is and presented several ways you can achieve what you're after in git. I haven't used TFS in a looooooong time, but that doesn't I'm incapable of understanding.
Side note, there's yet another way to have public vs private stuff in a repo btw. Git can also use submodules to relate two tepos. That's a better design than trying to integrate that into the same repo. My point is, what you're trying to do in TFS I can promise you can do in Git. But, I'm all I'm hearing is I don't know what labels are after citing sources that say otherwise. And that's fine if I don't know but tell me what I don't know with something concrete and practical.
I've already told you Git can do what you're asking. You seem to ignore that. So, if I'm being honest, it seems like you just can't admit you're wrong about Git. Which is silly if I'm being honest. You've already heard me say I could be wrong about labels, but I don't think I am. Which means, this is no longer an intellectual chat.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: you're saying the dude in the video is wrong as well?
Most likely, but I haven't watched it and I have no intention of watching it. Very likely he doesn't present the full extent of what Labels are and can be used for.
Bloggers and YouTubers rarely cover anything in-depth -- they cover only what they can fit in a presentation, not all that can be known. Read the documentation for the full story.
Maybe he is wrong, or incomplete, in which case why watch it?
If he isn't wrong, then he and I have both failed to explain the situation to you adequately, so why watch it?
Jeremy Falcon wrote: I've already told you Git can do what you're asking.
And I've told you it doesn't. So what's your point?
Jeremy Falcon wrote: you just can't admit you're wrong about Git.
I will admit I'm wrong if I'm proven wrong, but so far I have not been.
Jeremy Falcon wrote: I could be wrong about labels
I believe you are.
I know Labels in TFS and Classes in CMS, and what I have seen in the documentation for Git and Subversion tells me that Tags are not as flexible.
So far I have seen no argument or evidence that Tags are as flexible, all I seem to see is a mistaken view that Labels and Classes not as flexible as they actually are -- that Labels (and therefore Classes) are as brain-dead and useless as Tags.
It is a simple fact that Labels and Classes are far superior to Tags.
I have looked at the Git (and Subversion) documentation and I see no indication that a Tag can contain versions of only selected items in the repository.
This is the strength of Labels and Classes.
Show me where a Tag can contain a subset of the items, not a simple snapshot of everything in the repository.
And even though you may not have a need for that, I and the teams I've worked on do need that.
Without that feature, Git is unusable. As is Subversion, as is VSS. Git needs to add this feature. Let me know when they do.
modified 6-Nov-23 13:45pm.
|
|
|
|
|
Ok whatever dude. It's clear you didn't actually read my posts. So now this is another kiddie argument. You go on being whatever kinda close-minded dude you need to be to feel good about yourself. This is a waste of time.
Jeremy Falcon
|
|
|
|
|
I know what a Tag is (in Subversion and Git). I have known what a Tag is for many years. I do not need to read your posts to know what a Tag is. You have told me nothing which I didn't already know.
You seem to have a problem understanding what a Label (in TFS) or Class (in CMS) is, even though I have tried to explain it several times now.
The closed mind is on your side, not mine. You are convinced that a Tag is the same thing, when it most definitely is not. Labels and Classes are much more flexible than Tags.
|
|
|
|
|
"It should be possible to explain the laws of physics to a barmaid." - Einstein
Just because you said you know what we're talking about, while not actually engaging in the chat, means you're just saying that. Go on, be that way. You don't need friends.
Jeremy Falcon
|
|
|
|
|